export interface PrototypeType extends Function { prototype: T; } export interface ConstructorFunctionType extends PrototypeType { new (...args: any[]): T; } export type ConstructorType = PrototypeType> = (ConstructorFunctionType | PrototypeType) & { [Key in keyof Static]: Static[Key]; }; /** * 构造单例类的静态类. * # Example: * class A extends Singleton(){}; * //获得单例 * let a = A.GetInstance(); */ export declare class Singleton { protected constructor(); static GetInstance(this: ConstructorType): T; } //# sourceMappingURL=Singleton.d.ts.map