/** * An abstract class type narrowed to its concrete subclasses, keeping static * members while allowing construction. */ export type Concrete unknown> = (new (...args: ConstructorParameters) => InstanceType) & Pick;