//// [declFileGenericType.ts] export module C { export class A{ } export class B { } export function F(x: T): A { return null; } export function F2(x: T): C.A { return null; } export function F3(x: T): C.A[] { return null; } export function F4>(x: T): Array> { return null; } export function F5(): T { return null; } export function F6>(x: T): T { return null; } export class D{ constructor(public val: T) { } } } export var a: C.A; export var b = C.F; export var c = C.F2; export var d = C.F3; export var e = C.F4; export var x = (new C.D>(new C.A())).val; export function f>() { } export var g = C.F5>(); export class h extends C.A{ } export interface i extends C.A { } export var j = C.F6; //// [declFileGenericType.js] var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } __.prototype = b.prototype; d.prototype = new __(); }; var C; (function (C) { var A = (function () { function A() { } return A; })(); C.A = A; var B = (function () { function B() { } return B; })(); C.B = B; function F(x) { return null; } C.F = F; function F2(x) { return null; } C.F2 = F2; function F3(x) { return null; } C.F3 = F3; function F4(x) { return null; } C.F4 = F4; function F5() { return null; } C.F5 = F5; function F6(x) { return null; } C.F6 = F6; var D = (function () { function D(val) { this.val = val; } return D; })(); C.D = D; })(C = exports.C || (exports.C = {})); exports.a; exports.b = C.F; exports.c = C.F2; exports.d = C.F3; exports.e = C.F4; exports.x = (new C.D(new C.A())).val; function f() { } exports.f = f; exports.g = C.F5(); var h = (function (_super) { __extends(h, _super); function h() { _super.apply(this, arguments); } return h; })(C.A); exports.h = h; exports.j = C.F6; //// [declFileGenericType.d.ts] export declare module C { class A { } class B { } function F(x: T): A; function F2(x: T): C.A; function F3(x: T): C.A[]; function F4>(x: T): Array>; function F5(): T; function F6>(x: T): T; class D { val: T; constructor(val: T); } } export declare var a: C.A; export declare var b: typeof C.F; export declare var c: typeof C.F2; export declare var d: typeof C.F3; export declare var e: typeof C.F4; export declare var x: C.A; export declare function f>(): void; export declare var g: C.A; export declare class h extends C.A { } export interface i extends C.A { } export declare var j: typeof C.F6;