//// [genericOverloadSignatures.ts] interface A { (x: T): void; (x: T): void; } function f(a: T); function f(a: T); function f(a) { } interface I2 { f(x: T): number; f(x: T): string; } interface I3 { f(x: T): number; f(x: T): string; } class C2 { } var b: { new (x: T, y: string): C2; new (x: T, y: string): C2; } interface D { (x: T): T; (x: T): T; } //// [genericOverloadSignatures.js] function f(a) { } var C2 = (function () { function C2() { } return C2; })(); var b;