//// [declFileTypeAnnotationTypeQuery.ts] class c { } module m { export class c { } export class g { } } class g { } // Just the name function foo(): typeof c { return c; } function foo2() { return c; } // Qualified name function foo3(): typeof m.c { return m.c; } function foo4() { return m.c; } // Just the name with type arguments function foo5(): typeof g { return g; } function foo6() { return g; } // Qualified name with type arguments function foo7(): typeof m.g { return m.g } function foo8() { return m.g } //// [declFileTypeAnnotationTypeQuery.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 c; } function foo2() { return c; } // Qualified name function foo3() { return m.c; } function foo4() { return m.c; } // Just the name with type arguments function foo5() { return g; } function foo6() { return g; } // Qualified name with type arguments function foo7() { return m.g; } function foo8() { return m.g; } //// [declFileTypeAnnotationTypeQuery.d.ts] declare class c { } declare module m { class c { } class g { } } declare class g { } declare function foo(): typeof c; declare function foo2(): typeof c; declare function foo3(): typeof m.c; declare function foo4(): typeof m.c; declare function foo5(): typeof g; declare function foo6(): typeof g; declare function foo7(): typeof m.g; declare function foo8(): typeof m.g;