import { IProxyDiContainer as IProxyDiContainer, ContainerizedServiceInstance, ServiceInstanced, ServiceClass } from './types'; import { ProxyDiSettings, ServiceId } from './types'; export declare class ProxyDiContainer implements IProxyDiContainer { private static idCounter; readonly id: number; readonly parent?: ProxyDiContainer; private children; /** * Holds instances of services registered in particular this container */ private serviceInstances; private parentInstanceProxies; private settings; constructor(settings?: ProxyDiSettings, parent?: ProxyDiContainer); registerService(serviceId: ServiceId, instance: ServiceInstanced): void; private registerInstanceImplementation; createService(serviceId: ServiceId, ServiceClass: ServiceClass): void; isKnown(serviceId: ServiceId): boolean; resolve(serviceId: ServiceId): T & ContainerizedServiceInstance; injectDependencies(injectionsOwner: any): void; createChildContainer(): ProxyDiContainer; removeService(serviceId: ServiceId | ContainerizedServiceInstance): void; destroy(): void; private findInstance; private addChild; private removeChild; }