import { InjectionToken } from './injection-token'; import { OneModule } from './module'; import { Metadata } from '../constants'; import { Dependency, ModuleExport, ModuleImport, Provider, Token, Type } from '../interfaces'; export interface StrictSelect { strict?: boolean; } export declare class OneContainer { private readonly dynamicModulesMetadata; private readonly moduleCompiler; private readonly globalModules; private readonly modules; private readonly createdModules; private readonly providerTokens; isModuleCreated(module: OneModule): boolean; addCreatedModule(module: OneModule): void; hasProviderToken(token: Token): boolean; addProviderToken(token: Token): void; private getModulesFrom; isProviderBound(provider: Type | InjectionToken, module?: Type): boolean; getRootModule(): OneModule; replace(toReplace: Dependency, options: any & { scope: any[] | null; }): void; getProvider(provider: Token | Provider, scope?: Type, { strict }?: StrictSelect): T; getAllInjectables(): Type[]; getAllProviders(provider: InjectionToken, target?: Type): (T | Promise>)[]; getModuleValues(): OneModule[]; hasModule(module: Type): boolean; getModule(module: Type): OneModule | undefined; getModuleByToken(token: string): OneModule; getCreatedModules(): Set; getModules(): Map; addProvider(provider: Provider, token: string): Promise; addExported(component: ModuleExport, token: string): void; addGlobalModule(module: OneModule): void; addModule(module: ModuleImport, scope?: Type[]): Promise; private addDynamicMetadata; private addDynamicModules; bindGlobalScope(): void; private bindGlobalsToImports; private bindGlobalModuleToModule; addImport(relatedModule: ModuleImport, token: string): Promise; getDynamicMetadataByToken(token: string, key: Metadata): any[]; }