import { ResolverData } from "../interfaces"; export declare type SupportedType = { new (...args: any[]): T; } | Function; export interface ContainerType { get(someClass: any, resolverData: ResolverData): any | Promise; } export declare type ContainerGetter = (resolverData: ResolverData) => ContainerType; export declare class IOCContainer { private container; private containerGetter; private defaultContainer; constructor(iocContainerOrContainerGetter?: ContainerType | ContainerGetter); getInstance(someClass: SupportedType, resolverData: ResolverData): T | Promise; }