//// [generics4NoError.ts] class C { private x: T; } interface X { f(): string; } interface Y { f(): boolean; } var a: C; var b: C; //// [generics4NoError.js] var C = (function () { function C() { } return C; })(); var a; var b; //// [generics4NoError.d.ts] declare class C { private x; } interface X { f(): string; } interface Y { f(): boolean; } declare var a: C; declare var b: C;