// @target: esnext // @useDefineForClassFields: false interface Mup { readonly size: number; } interface MupConstructor { new(): Mup; new(entries?: readonly (readonly [K, V])[] | null): Mup; readonly prototype: Mup; } declare var Mup: MupConstructor; class Sizz extends Mup { // ok, because Mup is an interface get size() { return 0 } } class Kasizz extends Mup { size = -1 }