UNPKG

1.24 kBTypeScriptView Raw
1import { ServiceManagerInterface } from './ServiceManagerInterface';
2import { FactoriesMapType, AliasesType, ServiceKeyType, ServiceFactoryType, ServiceManagerConfigType } from './ServiceManagerConfigInterface';
3import { Instantiable } from '../Core';
4/**
5 * @export
6 * @class ServiceManager
7 * @implements {ServiceManagerInterface}
8 */
9export declare class ServiceManager implements ServiceManagerInterface {
10 private services;
11 private factories;
12 private aliases;
13 private shared;
14 private sharedByDefault;
15 protected creationContext: ServiceManager;
16 constructor(config?: ServiceManagerConfigType);
17 get<T>(Service: ServiceKeyType<T>, forceTransient?: boolean): T;
18 has<T>(Service: ServiceKeyType<T>): boolean;
19 registerFactory(key: Function | string, value: ServiceFactoryType<Object>): this;
20 registerFactories(factories: FactoriesMapType): this;
21 registerService(key: Function | string, service: Object): this;
22 configure(config: ServiceManagerConfigType): this;
23 registerInvokable(key: ServiceKeyType<Object>, value: Instantiable<Object>): void;
24 registerAliases(aliases: AliasesType): this;
25 registerAlias(alias: string, to: string | Function): this;
26 private resolveName;
27}