import { ProviderTypes } from '../constants'; import { OneContainer } from './container'; import { InjectionToken } from './injection-token'; import { ClassProvider, Dependency, ExistingProvider, FactoryProvider, ModuleExport, ModuleImport, Provider, Token, Type, ValueProvider } from '../interfaces'; import { Injector } from '../tokens'; export declare class OneModule { readonly target: Type; readonly scope: Type[]; readonly container: OneContainer; readonly imports: Set; readonly providers: Set>; readonly injector: Injector; readonly lazyInject: (serviceIdentifier: string | symbol | import("inversify/dts/interfaces/interfaces").interfaces.Newable | import("inversify/dts/interfaces/interfaces").interfaces.Abstract) => (proto: any, key: string) => void; readonly exports: Set; readonly created: import("../interfaces").DeferredPromise<{}>; private readonly factoryValues; constructor(target: Type, scope: Type[], container: OneContainer); addImport(relatedModule: OneModule): void; addProvider(provider: Provider): void; private providerContainerHasToken; private validateExported; addExported(exported: ModuleExport): void; getProviders(): (symbol | Type | InjectionToken | import("../interfaces").ForwardRef | ValueProvider | FactoryProvider | ExistingProvider | ClassProvider | typeof Injector)[]; private linkRelatedProviders; private getRelatedProviders; private bindProviders; replace(toReplace: Dependency, options: any): void; private getModule; private runOnAppDestroy; private runOnAppInit; private runOnModuleDestroy; private runOnModuleInit; private everyInjectable; onModuleInit(): Promise; onAppInit(): Promise; onAppDestroy(): Promise; private injectablesOnAppDestroy; private injectablesOnAppInit; private factoriesOnAppDestroy; private factoriesOnAppInit; private injectablesOnModuleInit; private factoriesOnModuleInit; private runProviderSeries; create(): Promise; private getProviderType; getProvider(ref: ModuleImport): Token; private getDependencies; private bindFactoryProvider; private bindProvider; private bindClassProvider; private bindValueProvider; private bindExistingProvider; bind(token: Token, type: ProviderTypes, provider: Provider): Promise; addGlobalProviders(): void; }