=== tests/cases/compiler/aliasUsageInFunctionExpression_main.ts === import Backbone = require("aliasUsageInFunctionExpression_backbone"); >Backbone : typeof Backbone import moduleA = require("aliasUsageInFunctionExpression_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 f = (x: IHasVisualizationModel) => x; >f : (x: IHasVisualizationModel) => IHasVisualizationModel >(x: IHasVisualizationModel) => x : (x: IHasVisualizationModel) => IHasVisualizationModel >x : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel >x : IHasVisualizationModel f = (x) => moduleA; >f = (x) => moduleA : (x: IHasVisualizationModel) => typeof moduleA >f : (x: IHasVisualizationModel) => IHasVisualizationModel >(x) => moduleA : (x: IHasVisualizationModel) => typeof moduleA >x : IHasVisualizationModel >moduleA : typeof moduleA === tests/cases/compiler/aliasUsageInFunctionExpression_backbone.ts === export class Model { >Model : Model public someData: string; >someData : string } === tests/cases/compiler/aliasUsageInFunctionExpression_moduleA.ts === import Backbone = require("aliasUsageInFunctionExpression_backbone"); >Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel >Backbone.Model : any >Backbone : typeof Backbone >Model : Backbone.Model // interesting stuff here }