import { DynamicModule, Provider, Type } from '@nestjs/common'; import { ModuleMetadata } from '@nestjs/common/interfaces'; import { Subject } from 'rxjs'; type InjectionToken = string | symbol | Type; export interface ModuleConfigFactory { createModuleConfig(): Promise | T; } export type AsyncModuleConfig = Pick & ({ useExisting: { value: ModuleConfigFactory; provide?: InjectionToken; }; } | { useClass: Type>; } | { useFactory: (...args: any[]) => Promise | T; inject?: any[]; }); export declare function createModuleConfigProvider(provide: InjectionToken, options: AsyncModuleConfig): Provider[]; export interface IConfigurableDynamicRootModule { new (): Type; moduleSubject: Subject; forRoot(moduleCtor: Type, moduleConfig?: U): DynamicModule; forRootAsync(moduleCtor: Type, asyncModuleConfig: AsyncModuleConfig): DynamicModule; externallyConfigured(moduleCtor: Type, wait: number): Promise; } /** * * @deprecated Please use Nestjs Configurable Module {@see https://docs.nestjs.com/fundamentals/dynamic-modules#configurable-module-builder} * @param moduleConfigToken * @param moduleProperties * @returns */ export declare function createConfigurableDynamicRootModule(moduleConfigToken: InjectionToken, moduleProperties?: Partial>): IConfigurableDynamicRootModule; export {}; //# sourceMappingURL=dynamicModules.d.ts.map