==== tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType2_moduleA.ts (0 errors) ==== /// import moduleC = require("moduleC"); import ClassB = require("recursiveExportAssignmentAndFindAliasedType2_moduleB"); export var b: ClassB; // This should result in type ClassB ==== tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType2_moduleDef.d.ts (1 errors) ==== declare module "moduleC" { import self = require("moduleD"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2303: Circular definition of import alias 'self'. export = self; } declare module "moduleD" { import self = require("moduleC"); export = self; } ==== tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType2_moduleB.ts (0 errors) ==== class ClassB { } export = ClassB;