tests/cases/compiler/interfaceExtendsClassWithPrivate2.ts(10,7): error TS2415: Class 'D' incorrectly extends base class 'C'. Types have separate declarations of a private property 'x'. tests/cases/compiler/interfaceExtendsClassWithPrivate2.ts(10,7): error TS2420: Class 'D' incorrectly implements interface 'I'. Types have separate declarations of a private property 'x'. tests/cases/compiler/interfaceExtendsClassWithPrivate2.ts(18,7): error TS2415: Class 'D2' incorrectly extends base class 'C'. Types have separate declarations of a private property 'x'. tests/cases/compiler/interfaceExtendsClassWithPrivate2.ts(18,7): error TS2420: Class 'D2' incorrectly implements interface 'I'. Types have separate declarations of a private property 'x'. ==== tests/cases/compiler/interfaceExtendsClassWithPrivate2.ts (4 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 { // error ~ !!! error TS2415: Class 'D' incorrectly extends base class 'C'. !!! error TS2415: Types have separate declarations of a private property 'x'. ~ !!! error TS2420: Class 'D' incorrectly implements interface 'I'. !!! error TS2420: Types have separate declarations of a private property 'x'. public foo(x: any) { return x; } private x = 2; private y = 3; other(x: any) { return x; } bar() {} } class D2 extends C implements I { // error ~~ !!! error TS2415: Class 'D2' incorrectly extends base class 'C'. !!! error TS2415: Types have separate declarations of a private property 'x'. ~~ !!! error TS2420: Class 'D2' incorrectly implements interface 'I'. !!! error TS2420: Types have separate declarations of a private property 'x'. public foo(x: any) { return x; } private x = ""; other(x: any) { return x; } bar() { } }