=== tests/cases/compiler/aliasUsage1_main.ts === import Backbone = require("aliasUsage1_backbone"); >Backbone : typeof Backbone import moduleA = require("aliasUsage1_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 C2 { >C2 : C2 x: IHasVisualizationModel; >x : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel get A() { >A : IHasVisualizationModel return this.x; >this.x : IHasVisualizationModel >this : C2 >x : IHasVisualizationModel } set A(x) { >A : IHasVisualizationModel >x : IHasVisualizationModel x = moduleA; >x = moduleA : typeof moduleA >x : IHasVisualizationModel >moduleA : typeof moduleA } } === tests/cases/compiler/aliasUsage1_backbone.ts === export class Model { >Model : Model public someData: string; >someData : string } === tests/cases/compiler/aliasUsage1_moduleA.ts === import Backbone = require("aliasUsage1_backbone"); >Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel >Backbone.Model : any >Backbone : typeof Backbone >Model : Backbone.Model // interesting stuff here }