type ScopedInstancesType = { [key: string]: object; }; /** * Добавляет сервисные поля для хранения экземпляров класса * * @example * class SomeService extends Multitone { } */ export default class Multitone { /** * экземпляр класса */ static instance: object | null; /** * объект для хранения экземпляров по ключу */ static scopedInstances: ScopedInstancesType; init(): void; } /** * Фабрика для создания функции типа InstanceGetter для переданного класса * Использует поля из Multitone * * @param Service - ваш класс * * @example * class SomeService extends Multitone { } * const getInstance = getInstanceFactory(SomeService) */ export declare const getInstanceFactory: (Service: any) => (key?: string) => T; /** * Фабрика для создания функции уничтожении экземпляров * Использует поля из Multitone * * @param Service - ваш класс */ export declare const destroyFactory: (Service: any) => (...keys: string[]) => void; export {};