import { Abstract, ClassProvider, Controller, DynamicModule, ExistingProvider, FactoryProvider, Injectable, NestModule, Provider, ValueProvider } from '@nestjs/common/interfaces'; import { Type } from '@nestjs/common/interfaces/type.interface'; import { NestContainer } from './container'; import { InstanceWrapper } from './instance-wrapper'; interface ProviderName { name?: string | symbol; } export declare class Module { private readonly _metatype; private readonly _scope; private readonly container; private readonly _id; private readonly _imports; private readonly _providers; private readonly _injectables; private readonly _middlewares; private readonly _controllers; private readonly _exports; private _distance; constructor(_metatype: Type, _scope: Type[], container: NestContainer); readonly id: string; readonly scope: Type[]; readonly providers: Map>; readonly middlewares: Map>; readonly imports: Set; /** * Left for backward-compatibility reasons */ readonly relatedModules: Set; /** * Left for backward-compatibility reasons */ readonly components: Map>; /** * Left for backward-compatibility reasons */ readonly routes: Map>; readonly injectables: Map>; readonly controllers: Map>; readonly exports: Set; readonly instance: NestModule; readonly metatype: Type; distance: number; addCoreProviders(): void; addModuleRef(): void; addModuleAsProvider(): void; addApplicationConfig(): void; addInjectable(injectable: Provider, host?: Type): string; addProvider(provider: Provider): string; isCustomProvider(provider: Provider): provider is ClassProvider | FactoryProvider | ValueProvider | ExistingProvider; addCustomProvider(provider: (ClassProvider | FactoryProvider | ValueProvider | ExistingProvider) & ProviderName, collection: Map): string; isCustomClass(provider: any): provider is ClassProvider; isCustomValue(provider: any): provider is ValueProvider; isCustomFactory(provider: any): provider is FactoryProvider; isCustomUseExisting(provider: any): provider is ExistingProvider; isDynamicModule(exported: any): exported is DynamicModule; addCustomClass(provider: ClassProvider & ProviderName, collection: Map): void; addCustomValue(provider: ValueProvider & ProviderName, collection: Map): void; addCustomFactory(provider: FactoryProvider & ProviderName, collection: Map): void; addCustomUseExisting(provider: ExistingProvider & ProviderName, collection: Map): void; addExportedProvider(provider: (Provider & ProviderName) | string | symbol | DynamicModule): Set; addCustomExportedProvider(provider: FactoryProvider | ValueProvider | ClassProvider | ExistingProvider): Set; validateExportedProvider(token: string | symbol): string | symbol; addController(controller: Type): void; assignControllerUniqueId(controller: Type): void; addRelatedModule(module: Module): void; replace(toReplace: string | symbol | Type, options: any): void; hasProvider(token: string | symbol | Type): boolean; hasInjectable(token: string | symbol | Type): boolean; getProviderStaticToken(provider: string | symbol | Type | Abstract): string | symbol; getProviderByKey(name: string | symbol): InstanceWrapper; getNonAliasProviders(): Array<[string, InstanceWrapper]>; createModuleReferenceType(): any; } export {};