=== tests/cases/compiler/aliasUsageInObjectLiteral_main.ts === import Backbone = require("aliasUsageInObjectLiteral_backbone"); >Backbone : typeof Backbone import moduleA = require("aliasUsageInObjectLiteral_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 } var a: { x: typeof moduleA } = { x: moduleA }; >a : { x: typeof moduleA; } >x : typeof moduleA >moduleA : typeof moduleA >{ x: moduleA } : { x: typeof moduleA; } >x : typeof moduleA >moduleA : typeof moduleA var b: { x: IHasVisualizationModel } = { x: moduleA }; >b : { x: IHasVisualizationModel; } >x : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel >{ x: moduleA } : { x: typeof moduleA; } >x : typeof moduleA >moduleA : typeof moduleA var c: { y: { z: IHasVisualizationModel } } = { y: { z: moduleA } }; >c : { y: { z: IHasVisualizationModel; }; } >y : { z: IHasVisualizationModel; } >z : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel >{ y: { z: moduleA } } : { y: { z: typeof moduleA; }; } >y : { z: typeof moduleA; } >{ z: moduleA } : { z: typeof moduleA; } >z : typeof moduleA >moduleA : typeof moduleA === tests/cases/compiler/aliasUsageInObjectLiteral_backbone.ts === export class Model { >Model : Model public someData: string; >someData : string } === tests/cases/compiler/aliasUsageInObjectLiteral_moduleA.ts === import Backbone = require("aliasUsageInObjectLiteral_backbone"); >Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel >Backbone.Model : any >Backbone : typeof Backbone >Model : Backbone.Model // interesting stuff here }