import 'reflect-metadata'; import * as Inversify from 'inversify'; export declare type IOnConstructEventHandler = (service: object) => void; declare type IServiceKey = any; interface IContainerParams { createLocked: boolean; } export declare type ContainerProvider = (container: Container) => void; export declare class Container { private fInternalContainer; private fParams; private fIsLocked; private fServiceKeys; private fOnConstructHandlers; constructor(params?: Partial); get servicesKeys(): IServiceKey[]; bind(key: Inversify.interfaces.Newable | Inversify.interfaces.Abstract, implementation?: Inversify.interfaces.Newable | Inversify.interfaces.Abstract): void; bindInstance(key: Inversify.interfaces.Newable | Inversify.interfaces.Abstract, instance: T): void; bindMock(key: Inversify.interfaces.Newable | Inversify.interfaces.Abstract, implementation: Partial): void; get(key: Inversify.interfaces.Newable | Inversify.interfaces.Abstract): T; use(provider: ContainerProvider): void; resolve(classType: Inversify.interfaces.Newable): T; getAllServices(): any[]; onConstruct(handler: IOnConstructEventHandler): void; unlock(): void; private onResolve; } export {};