/**
 * Ensures a class has only one instance
 */
export declare function Singleton(): <T extends new (...args: any[]) => Object>(target: T) => {
    new (...args: any[]): {
        constructor: Function;
        toString(): string;
        toLocaleString(): string;
        valueOf(): Object;
        hasOwnProperty(v: PropertyKey): boolean;
        isPrototypeOf(v: Object): boolean;
        propertyIsEnumerable(v: PropertyKey): boolean;
    };
    instance: T;
} & T;
