//// [privacyTypeParametersOfInterface.ts] class privateClass { } export class publicClass { } class privateClassT { } export class publicClassT { } // TypeParameter_0_of_exported_interface_1_has_or_is_using_private_type_2 export interface publicInterfaceWithPrivateTypeParameters { myMethod(val: T): T; // Error myMethod0(): publicClassT; // error myMethod1(): privateClassT; // error myMethod2(): privateClassT; // error myMethod3(): publicClassT; //error myMethod4(): publicClassT; // no error } export interface publicInterfaceWithPublicTypeParameters { myMethod(val: T): T; // No Error myMethod0(): publicClassT; // No error myMethod1(): privateClassT; // error myMethod2(): privateClassT; // error myMethod3(): publicClassT; //error myMethod4(): publicClassT; // no error } interface privateInterfaceWithPrivateTypeParameters { myMethod(val: T): T; // No Error myMethod0(): publicClassT; // No error myMethod1(): privateClassT; // No error myMethod2(): privateClassT; // No error myMethod3(): publicClassT; //No error myMethod4(): publicClassT; // no error } interface privateInterfaceWithPublicTypeParameters { myMethod(val: T): T; // No Error myMethod0(): publicClassT; // No error myMethod1(): privateClassT; // No error myMethod2(): privateClassT; // No error myMethod3(): publicClassT; //No error myMethod4(): publicClassT; // no error } export interface publicInterfaceWithPublicTypeParametersWithoutExtends { myMethod(val: T): T; // No Error myMethod0(): publicClassT; // No error } interface privateInterfaceWithPublicTypeParametersWithoutExtends { myMethod(val: T): T; // No Error myMethod0(): publicClassT; // No error } //// [privacyTypeParametersOfInterface.js] var privateClass = (function () { function privateClass() { } return privateClass; })(); var publicClass = (function () { function publicClass() { } return publicClass; })(); exports.publicClass = publicClass; var privateClassT = (function () { function privateClassT() { } return privateClassT; })(); var publicClassT = (function () { function publicClassT() { } return publicClassT; })(); exports.publicClassT = publicClassT;