1 | import { ServiceManagerInterface } from './ServiceManagerInterface';
|
2 | import { Instantiable } from '../Core';
|
3 | import { FactoryInterface } from './FactoryInterface';
|
4 | export interface ServiceFactoryType<T> extends Function {
|
5 | (sm?: ServiceManagerInterface): T;
|
6 | }
|
7 | export declare type FactoriesMapType = Map<Function | string, FactoryInterface>;
|
8 | export declare type ServicesMapType = Map<Function | string, Object>;
|
9 | export declare type InvokablesMapType<T> = Map<Instantiable<Object> | string, Instantiable<T>>;
|
10 | export declare type AliasesType = {
|
11 | [alias: string]: string | Function;
|
12 | };
|
13 | export declare type SharedMapType = Map<Function | string, Object>;
|
14 | export declare type ServiceKeyType<T> = Instantiable<T> | string;
|
15 | export declare type ServiceManagerConfigType = Partial<{
|
16 | sharedByDefault: boolean;
|
17 | shared: SharedMapType;
|
18 | services: ServicesMapType;
|
19 | factories: FactoriesMapType;
|
20 | aliases: AliasesType;
|
21 | invokables: InvokablesMapType<Object>;
|
22 | }>;
|