1 | import { ResolverData } from "../interfaces";
|
2 | export declare type SupportedType<T> = {
|
3 | new (...args: any[]): T;
|
4 | } | Function;
|
5 | export interface ContainerType {
|
6 | get(someClass: any, resolverData: ResolverData<any>): any;
|
7 | }
|
8 | export declare type ContainerGetter<TContext extends object> = (resolverData: ResolverData<TContext>) => ContainerType;
|
9 | export declare class IOCContainer {
|
10 | private container;
|
11 | private containerGetter;
|
12 | private defaultContainer;
|
13 | constructor(iocContainerOrContainerGetter?: ContainerType | ContainerGetter<any>);
|
14 | getInstance<T = any>(someClass: SupportedType<T>, resolverData: ResolverData<any>): T;
|
15 | }
|