import { ReflectiveProvider } from './injector-provider'; import { InjectionProvider } from './provider'; import { Provider } from './type'; export declare class Injector { protected readonly parent: Injector | null; readonly provider: InjectionProvider; protected readonly resolvedProviders: Map, unknown>; protected readonly providersCache: Map>; constructor(parent?: Injector | null); addProvider>(provider: T): T; addProviders(providers: Provider[]): this; getInstance(provider: Provider): T; resolveAndInstantiate(provider: Provider): T; createChild(providers: Provider[]): Injector; private resolveReflectiveProvider; private getInstanceInternal; private resolveByReflectiveProvider; private findExisting; private findDeps; private checkDependenciesClean; }