UNPKG

664 BTypeScriptView Raw
1import { type ResolverData } from "../typings/index.js";
2export type SupportedType<T> = (new (...args: any[]) => T) | Function;
3export interface ContainerType {
4 get(someClass: any, resolverData: ResolverData<any>): any | Promise<any>;
5}
6export type ContainerGetter<TContext extends object> = (resolverData: ResolverData<TContext>) => ContainerType;
7export 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}