import { DynamicModule, ModuleMetadata, Type } from '@nestjs/common'; export declare type ModuleFeatures = Type[]; export declare type ModuleProperties = Partial & { features: ModuleFeatures; }>; export interface AsyncDynamicModuleOptions { moduleOptionsToken: InjectionToken; moduleProperties: ModuleProperties; asyncModuleOptions: AsyncModuleOptions; context: Function; } export interface DynamicModuleOptions { moduleOptionsToken: InjectionToken; moduleProperties: ModuleProperties; moduleOptions: O; context: Function; } export declare type InjectionToken = string | symbol | Type; export interface ModuleOptionsFactory { createModuleOptions(): Promise | O; } export interface AsyncModuleOptions extends Pick { features?: ModuleFeatures; useExisting?: { value: ModuleOptionsFactory; provide?: InjectionToken; }; useClass?: Type>; useFactory?: (...args: any[]) => Promise | O; inject?: any[]; } export interface IDynamicRootModule { new (): Type; forRoot(moduleOptions: O): DynamicModule; forRootAsync(asyncModuleOptions: AsyncModuleOptions): DynamicModule; } export interface IDynamicFeatureModule { new (): Type; register(moduleOptions: O): DynamicModule; registerAsync(asyncModuleOptions: AsyncModuleOptions): DynamicModule; } /** * A recursive type used by the 'deepDotKey' format method */ export declare type DeepDotKey = { [P in keyof T]: DeepDotKey; } & (() => string); //# sourceMappingURL=dynamic-module.types.d.ts.map