// @declaration: true export var noPrivates = class { static getTags() { } tags() { } private static ps = -1 private p = 12 } // altered repro from #15066 to add private property export class FooItem { foo(): void { } name?: string; private property = "capitalism" } export type Constructor = new(...args: any[]) => T; export function WithTags>(Base: T) { return class extends Base { static getTags(): void { } tags(): void { } } } export class Test extends WithTags(FooItem) {} const test = new Test(); Test.getTags() test.tags();