=== tests/cases/compiler/aliasUsageInIndexerOfClass_main.ts === import Backbone = require("aliasUsageInIndexerOfClass_backbone"); >Backbone : typeof Backbone import moduleA = require("aliasUsageInIndexerOfClass_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model >Backbone : typeof Backbone >Model : typeof Backbone.Model } class N { >N : N [idx: string]: IHasVisualizationModel >idx : string >IHasVisualizationModel : IHasVisualizationModel x = moduleA; >x : typeof moduleA >moduleA : typeof moduleA } class N2 { >N2 : N2 [idx: string]: typeof moduleA >idx : string >moduleA : typeof moduleA x: IHasVisualizationModel; >x : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel } === tests/cases/compiler/aliasUsageInIndexerOfClass_backbone.ts === export class Model { >Model : Model public someData: string; >someData : string } === tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA.ts === import Backbone = require("aliasUsageInIndexerOfClass_backbone"); >Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel >Backbone.Model : any >Backbone : typeof Backbone >Model : Backbone.Model // interesting stuff here }