tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts(21,1): error TS2322: Type 'C' is not assignable to type 'I'. Property 'other' is missing in type 'C'. tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts(24,1): error TS2322: Type 'I' is not assignable to type 'D'. Property 'bar' is missing in type 'I'. tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts(27,1): error TS2322: Type 'C' is not assignable to type 'D'. Property 'other' is missing in type 'C'. ==== tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts (3 errors) ==== class C { public foo(x: any) { return x; } private x = 1; } interface I extends C { other(x: any): any; } class D extends C implements I { public foo(x: any) { return x; } other(x: any) { return x; } bar() { } } var c: C; var i: I; var d: D; c = i; i = c; // error ~ !!! error TS2322: Type 'C' is not assignable to type 'I'. !!! error TS2322: Property 'other' is missing in type 'C'. i = d; d = i; // error ~ !!! error TS2322: Type 'I' is not assignable to type 'D'. !!! error TS2322: Property 'bar' is missing in type 'I'. c = d; d = c; // error ~ !!! error TS2322: Type 'C' is not assignable to type 'D'. !!! error TS2322: Property 'other' is missing in type 'C'.