import type { NormalizedModuleMetadata } from './types/normalized-module-metadata.js'; import type { ModuleManager } from './services/module-manager.js'; import type { GlobalProviders, MetadataPerMod1 } from './types/metadata-per-mod.js'; import { ImportObj } from './types/metadata-per-mod.js'; import type { ModuleType, Scope, Provider, GuardPerMod1 } from './types/mix.js'; import type { ModuleWithParams, AppendsWithParams } from './types/module-metadata.js'; type AnyModule = ModuleType | ModuleWithParams | AppendsWithParams; /** * - exports and imports global providers; * - merges global and local providers; * - checks on providers collisions; * - collects module and controllers metadata. */ export declare class ModuleFactory { protected providersPerApp: Provider[]; protected moduleName: string; protected prefixPerMod: string; protected guardsPerMod: GuardPerMod1[]; /** * Module metadata. */ protected meta: NormalizedModuleMetadata; protected importedProvidersPerMod: Map>; protected importedProvidersPerRou: Map>; protected importedProvidersPerReq: Map>; protected importedMultiProvidersPerMod: Map; protected importedMultiProvidersPerRou: Map; protected importedMultiProvidersPerReq: Map; protected importedExtensions: Map; /** * GlobalProviders. */ protected glProviders: GlobalProviders; protected appMetadataMap: Map; protected unfinishedScanModules: Set; protected moduleManager: ModuleManager; exportGlobalProviders(moduleManager: ModuleManager, providersPerApp: Provider[]): { importedProvidersPerMod: Map>; importedProvidersPerRou: Map>; importedProvidersPerReq: Map>; importedMultiProvidersPerMod: Map; importedMultiProvidersPerRou: Map; importedMultiProvidersPerReq: Map; importedExtensions: Map; }; /** * Bootstraps a module. * * @param modOrObj Module that will bootstrapped. */ bootstrap(providersPerApp: Provider[], globalProviders: GlobalProviders, prefixPerMod: string, modOrObj: AnyModule, moduleManager: ModuleManager, unfinishedScanModules: Set, guardsPerMod?: GuardPerMod1[], isAppends?: boolean): Map; protected importAndAppendModules(): void; protected importOrAppendModules(inputs: Array, isImport?: boolean): void; /** * Recursively imports providers and extensions. * * @param meta1 Module metadata from where imports providers. */ protected importProvidersAndExtensions(meta1: NormalizedModuleMetadata): void; protected throwIfTryResolvingMultiprovidersCollisions(module: AnyModule): void; protected addProviders(scope: Scope, meta: NormalizedModuleMetadata): void; protected checkCollisionsPerScope(module: AnyModule, scope: Scope, token: NonNullable, provider: Provider, importObj: ImportObj): void; protected getResolvedCollisionsPerScope(scope: Scope, token1: any): { module2: ModuleType | ModuleWithParams; providers: Provider[]; }; protected checkAllCollisionsWithScopesMix(): void; protected checkCollisionsWithScopesMix(providers: any[], scopes: Scope[]): void; protected resolveCollisionsWithScopesMix(token1: any, scope: Scope, resolvedTokens: any[]): void; protected checkImportsAndAppends(meta: NormalizedModuleMetadata): void; } export {}; //# sourceMappingURL=module-factory.d.ts.map