import { ServiceManagerInterface } from './ServiceManagerInterface'; import { FactoriesMapType, AliasesType, ServiceKeyType, ServiceFactoryType, ServiceManagerConfigType } from './ServiceManagerConfigInterface'; import { Instantiable } from '../Core'; /** * @export * @class ServiceManager * @implements {ServiceManagerInterface} */ export declare class ServiceManager implements ServiceManagerInterface { private services; private factories; private aliases; private shared; private sharedByDefault; protected creationContext: ServiceManager; constructor(config?: ServiceManagerConfigType); get(Service: ServiceKeyType, forceTransient?: boolean): T; has(Service: ServiceKeyType): boolean; registerFactory(key: Function | string, value: ServiceFactoryType): this; registerFactories(factories: FactoriesMapType): this; registerService(key: Function | string, service: Object): this; configure(config: ServiceManagerConfigType): this; registerInvokable(key: ServiceKeyType, value: Instantiable): void; registerAliases(aliases: AliasesType): this; registerAlias(alias: string, to: string | Function): this; private resolveName; }