import { DynamicModule, ForwardReference, Provider } from '@nestjs/common'; import { ClassProvider, ExistingProvider, FactoryProvider, ValueProvider } from '@nestjs/common/interfaces'; import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface'; import { Injectable } from '@nestjs/common/interfaces/injectable.interface'; import { Type } from '@nestjs/common/interfaces/type.interface'; import { ApplicationConfig } from './application-config'; import { NestContainer } from './injector/container'; import { Module } from './injector/module'; import { MetadataScanner } from './metadata-scanner'; export declare class DependenciesScanner { private readonly container; private readonly metadataScanner; private readonly applicationConfig; private readonly logger; private readonly applicationProvidersApplyMap; constructor(container: NestContainer, metadataScanner: MetadataScanner, applicationConfig?: ApplicationConfig); scan(module: Type): Promise; scanForModules(moduleDefinition: ForwardReference | Type | DynamicModule | Promise, scope?: Type[], ctxRegistry?: (ForwardReference | DynamicModule | Type)[]): Promise; insertModule(moduleDefinition: any, scope: Type[]): Promise; scanModulesForDependencies(modules?: Map): Promise; reflectImports(module: Type, token: string, context: string): Promise; reflectProviders(module: Type, token: string): void; reflectControllers(module: Type, token: string): void; reflectDynamicMetadata(obj: Type, token: string): void; reflectExports(module: Type, token: string): void; reflectInjectables(component: Type, token: string, metadataKey: string): void; reflectParamInjectables(component: Type, token: string, metadataKey: string): void; reflectKeyMetadata(component: Type, key: string, method: string): any; calculateModulesDistance(): Promise; insertImport(related: any, token: string, context: string): Promise; isCustomProvider(provider: Provider): provider is ClassProvider | ValueProvider | FactoryProvider | ExistingProvider; insertProvider(provider: Provider, token: string): string | symbol | void | Function; insertInjectable(injectable: Type, token: string, host: Type): void; insertExportedProvider(exportedProvider: Type, token: string): void; insertController(controller: Type, token: string): void; reflectMetadata(metatype: Type, metadataKey: string): any; registerCoreModule(): Promise; /** * Add either request or transient globally scoped enhancers * to all controllers metadata storage */ addScopedEnhancersMetadata(): void; applyApplicationProviders(): void; getApplyProvidersMap(): { [type: string]: Function; }; getApplyRequestProvidersMap(): { [type: string]: Function; }; isDynamicModule(module: Type | DynamicModule): module is DynamicModule; /** * @param metatype * @returns `true` if `metatype` is annotated with the `@Injectable()` decorator. */ private isInjectable; /** * @param metatype * @returns `true` if `metatype` is annotated with the `@Controller()` decorator. */ private isController; /** * @param metatype * @returns `true` if `metatype` is annotated with the `@Catch()` decorator. */ private isExceptionFilter; private isForwardReference; private flatten; private isRequestOrTransient; }