import { ServiceInitializationContext } from "../context/service-initialization-context.mjs"; import { Injectors } from "../../utils/get-injectors.mjs"; import { FactoryRecord } from "../../token/registry.mjs"; import { DIError } from "../../errors/di-error.mjs"; //#region src/internal/core/service-initializer.d.mts /** * Creates service instances from registry records. * * Handles both class-based (@Injectable) and factory-based (@Factory) services, * managing the instantiation lifecycle including lifecycle hook invocation. */ declare class ServiceInitializer { private readonly injectors; constructor(injectors: Injectors); /** * Instantiates a service based on its registry record. * @param ctx The factory context for dependency injection * @param record The factory record from the registry * @param args Optional arguments for the service * @returns Promise resolving to [undefined, instance] or [error] */ instantiateService(ctx: ServiceInitializationContext, record: FactoryRecord, args?: any): Promise<[undefined, T] | [DIError]>; /** * Instantiates a class-based service (Injectable decorator). * @param ctx The factory context for dependency injection * @param record The factory record from the registry * @param args Optional arguments for the service constructor * @returns Promise resolving to [undefined, instance] or [error] */ private instantiateClass; /** * Instantiates a factory-based service (Factory decorator). * @param ctx The factory context for dependency injection * @param record The factory record from the registry * @param args Optional arguments for the factory * @returns Promise resolving to [undefined, instance] or [error] */ private instantiateFactory; } //#endregion export { ServiceInitializer }; //# sourceMappingURL=service-initializer.d.mts.map