import { ClassProvider, Controller, DynamicModule, ExistingProvider, FactoryProvider, Injectable, InjectionToken, NestModule, Provider, ValueProvider } from '@nestjs/common/interfaces'; import { Type } from '@nestjs/common/interfaces/type.interface'; import { NestContainer } from './container'; import { InstanceWrapper } from './instance-wrapper'; import { ModuleRef } from './module-ref'; /** * @note * Left for backward compatibility */ export declare type InstanceToken = InjectionToken; export declare class Module { private readonly _metatype; 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; private _token; constructor(_metatype: Type, container: NestContainer); get id(): string; get token(): string; set token(token: string); get providers(): Map>; get middlewares(): Map>; get imports(): Set; /** * Left for backward-compatibility reasons */ get relatedModules(): Set; /** * Left for backward-compatibility reasons */ get components(): Map>; /** * Left for backward-compatibility reasons */ get routes(): Map>; get injectables(): Map>; get controllers(): Map>; get exports(): Set; get instance(): NestModule; get metatype(): Type; get distance(): number; set distance(value: number); addCoreProviders(): void; addModuleRef(): void; addModuleAsProvider(): void; addApplicationConfig(): void; addInjectable(injectable: Provider, host?: Type): InjectionToken; addProvider(provider: Provider): InjectionToken; isCustomProvider(provider: Provider): provider is ClassProvider | FactoryProvider | ValueProvider | ExistingProvider; addCustomProvider(provider: ClassProvider | FactoryProvider | ValueProvider | ExistingProvider, collection: Map): InjectionToken; 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, collection: Map): void; addCustomValue(provider: ValueProvider, collection: Map): void; addCustomFactory(provider: FactoryProvider, collection: Map): void; addCustomUseExisting(provider: ExistingProvider, collection: Map): void; addExportedProvider(provider: Provider | string | symbol | DynamicModule): Set; addCustomExportedProvider(provider: FactoryProvider | ValueProvider | ClassProvider | ExistingProvider): Set; validateExportedProvider(token: InstanceToken): InjectionToken; addController(controller: Type): void; assignControllerUniqueId(controller: Type): void; addRelatedModule(module: Module): void; replace(toReplace: InstanceToken, options: any): void; hasProvider(token: InstanceToken): boolean; hasInjectable(token: InstanceToken): boolean; getProviderByKey(name: InstanceToken): InstanceWrapper; getNonAliasProviders(): Array<[ InstanceToken, InstanceWrapper ]>; createModuleReferenceType(): Type; }