/** * Represents the constructor of a class. * * @example * ```ts * function create(Class: Constructor, ...args: A): T { * return new Class(...args) * } * * class Package { * constructor(public name: T) {} * } * * const instance = create(Package, '@cuppachino/type-space' as const) * console.log(instance.name) // '@cuppachino/type-space' * ``` */ export type Constructor = new (...args: A) => T;