//// [declFileTypeAnnotationTypeReference.ts] class c { } module m { export class c { } export class g { } } class g { } // Just the name function foo(): c { return new c(); } function foo2() { return new c(); } // Qualified name function foo3(): m.c { return new m.c(); } function foo4() { return new m.c(); } // Just the name with type arguments function foo5(): g { return new g(); } function foo6() { return new g(); } // Qualified name with type arguments function foo7(): m.g { return new m.g(); } function foo8() { return new m.g(); } //// [declFileTypeAnnotationTypeReference.js] var c = (function () { function c() { } return c; })(); var m; (function (m) { var c = (function () { function c() { } return c; })(); m.c = c; var g = (function () { function g() { } return g; })(); m.g = g; })(m || (m = {})); var g = (function () { function g() { } return g; })(); // Just the name function foo() { return new c(); } function foo2() { return new c(); } // Qualified name function foo3() { return new m.c(); } function foo4() { return new m.c(); } // Just the name with type arguments function foo5() { return new g(); } function foo6() { return new g(); } // Qualified name with type arguments function foo7() { return new m.g(); } function foo8() { return new m.g(); } //// [declFileTypeAnnotationTypeReference.d.ts] declare class c { } declare module m { class c { } class g { } } declare class g { } declare function foo(): c; declare function foo2(): c; declare function foo3(): m.c; declare function foo4(): m.c; declare function foo5(): g; declare function foo6(): g; declare function foo7(): m.g; declare function foo8(): m.g;