=== tests/cases/compiler/externalModuleAssignToVar_core.ts === /// import ext = require('externalModuleAssignToVar_core_require'); >ext : typeof ext var y1: { C: new() => ext.C; } = ext; >y1 : { C: new () => ext.C; } >C : new () => ext.C >ext : any >C : ext.C >ext : typeof ext y1 = ext; // ok >y1 = ext : typeof ext >y1 : { C: new () => ext.C; } >ext : typeof ext import ext2 = require('externalModuleAssignToVar_core_require2'); >ext2 : typeof ext2 var y2: new() => ext2 = ext2; >y2 : new () => ext2 >ext2 : ext2 >ext2 : typeof ext2 y2 = ext2; // ok >y2 = ext2 : typeof ext2 >y2 : new () => ext2 >ext2 : typeof ext2 import ext3 = require('externalModuleAssignToVar_ext'); >ext3 : typeof ext3 var y3: new () => ext3 = ext3; >y3 : new () => ext3 >ext3 : ext3 >ext3 : typeof ext3 y3 = ext3; // ok >y3 = ext3 : typeof ext3 >y3 : new () => ext3 >ext3 : typeof ext3 === tests/cases/compiler/externalModuleAssignToVar_ext.ts === class D { foo: string; } >D : D >foo : string export = D; >D : D === tests/cases/compiler/externalModuleAssignToVar_core_require.ts === export class C { bar: string; } >C : C >bar : string === tests/cases/compiler/externalModuleAssignToVar_core_require2.ts === class C { baz: string; } >C : C >baz : string export = C; >C : C