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