import type { ServiceContainer } from "./ServiceContainer"; import type { TypesMap } from "./TypesMap"; /** * Base ServiceContainer interface implementation. */ export declare class BaseServiceContainer implements ServiceContainer { /** * Parent container. * * @protected */ protected parent: BaseServiceContainer | null; /** * Services storage. * * @protected */ protected services: Map; /** * Backups storage. * * @private */ private backups; /** * BaseServiceContainer constructor. */ constructor(); /** * @inheritDoc */ register(key: K, service: M[K] | ((locator: ServiceContainer) => M[K])): void; /** * @inheritDoc */ unregister(key: K): void; /** * @inheritDoc */ resolve(key: K): M[K]; /** * @inheritDoc */ backup(): void; /** * @inheritDoc */ restore(): void; /** * @inheritDoc */ createChild(): BaseServiceContainer; }