export interface Constructor { new (...args: any[]): T; } /** * Given a Functional constructor (a function that returns an object, but is not meant to be used with `new`), return a Class that can be extended * * Example: * ```js * const BaseMoment = makeExtensible(moment); * class SubMoment extends BaseMoment { } * ``` */ export declare function makeExtensible(constructCall: (...args: any[]) => T, prototype?: any): Constructor;