tests/cases/compiler/another.ts(11,1): error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected.
tests/cases/compiler/another.ts(11,1): error TS4094: Property '_onDispose' of exported class expression may not be private or protected.
tests/cases/compiler/first.ts(12,1): error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected.
tests/cases/compiler/first.ts(12,1): error TS4094: Property '_onDispose' of exported class expression may not be private or protected.
tests/cases/compiler/first.ts(13,14): error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected.
tests/cases/compiler/first.ts(13,14): error TS4094: Property '_onDispose' of exported class expression may not be private or protected.


==== tests/cases/compiler/first.ts (4 errors) ====
    declare function mix<TMix>(mixin: TMix): TMix;
    
    const DisposableMixin = class {
        protected _onDispose() {
            this._assertIsStripped()
        }
        private _assertIsStripped() {
        }
    };
    
    // No error, but definition is wrong. 
    export default mix(DisposableMixin);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS4094: Property '_onDispose' of exported class expression may not be private or protected.
    export class Monitor extends mix(DisposableMixin) {
                 ~~~~~~~
!!! error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected.
                 ~~~~~~~
!!! error TS4094: Property '_onDispose' of exported class expression may not be private or protected.
        protected _onDispose() {
        }
    }
    
==== tests/cases/compiler/another.ts (2 errors) ====
    declare function mix<TMix>(mixin: TMix): TMix;
    
    const DisposableMixin = class {
        protected _onDispose() {
            this._assertIsStripped()
        }
        private _assertIsStripped() {
        }
    };
    
    export default class extends mix(DisposableMixin) {
    ~~~~~~
!!! error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected.
    ~~~~~~
!!! error TS4094: Property '_onDispose' of exported class expression may not be private or protected.
        protected _onDispose() {
        }
    }