import {Constructor} from './types.js'; /** * Service container. */ export declare class ServiceContainer { /** * Constructor. * * @param parent */ constructor(parent?: ServiceContainer); /** * Получить существующий или новый экземпляр. * * @param ctor * @param args */ get( ctor: Constructor, ...args: any[], ): T; /** * Проверка существования конструктора в контейнере. * * @param ctor */ has( ctor: Constructor, ): boolean; /** * Добавить конструктор в контейнер. * * @param ctor * @param args */ add( ctor: Constructor, ...args: any[], ): this; /** * Добавить конструктор и создать экземпляр. * * @param ctor * @param args */ use( ctor: Constructor, ...args: any[], ): this; /** * Добавить конструктор и связанный экземпляр. * * @param ctor * @param service */ set( ctor: Constructor, service: T, ): this; }