export type Constructor = new (...args: Args) => T; export type AbstractConstructor = (abstract new (...args: Args) => T); export type ConstructorOrAbstract = Constructor | AbstractConstructor;