//// [tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType2.ts] //// //// [recursiveExportAssignmentAndFindAliasedType2_moduleDef.d.ts] declare module "moduleC" { import self = require("moduleD"); export = self; } declare module "moduleD" { import self = require("moduleC"); export = self; } //// [recursiveExportAssignmentAndFindAliasedType2_moduleB.ts] class ClassB { } export = ClassB; //// [recursiveExportAssignmentAndFindAliasedType2_moduleA.ts] /// import moduleC = require("moduleC"); import ClassB = require("recursiveExportAssignmentAndFindAliasedType2_moduleB"); export var b: ClassB; // This should result in type ClassB //// [recursiveExportAssignmentAndFindAliasedType2_moduleB.js] define(["require", "exports"], function (require, exports) { var ClassB = (function () { function ClassB() { } return ClassB; })(); return ClassB; }); //// [recursiveExportAssignmentAndFindAliasedType2_moduleA.js] define(["require", "exports"], function (require, exports) { exports.b; // This should result in type ClassB });