import { ClassType, InjectionToken } from "./injection-token.mjs"; import { InjectableScope } from "../enums/injectable-scope.enum.mjs"; import { InjectableType } from "../enums/injectable-type.enum.mjs"; //#region src/token/registry.d.mts type FactoryRecord = { scope: InjectableScope; originalToken: InjectionToken; target: ClassType; type: InjectableType; priority: number; }; declare class Registry { private readonly parent?; private readonly factories; private readonly highestPriority; constructor(parent?: Registry | undefined); has(token: InjectionToken): boolean; get(token: InjectionToken): FactoryRecord; getAll(token: InjectionToken): FactoryRecord[]; set(token: InjectionToken, scope: InjectableScope, target: ClassType, type: InjectableType, priority?: number): void; delete(token: InjectionToken): void; /** * Updates the scope of an already registered factory. * This is useful when you need to dynamically change a service's scope * (e.g., when a singleton controller has request-scoped dependencies). * * @param token The injection token to update * @param scope The new scope to set * @returns true if the scope was updated, false if the token was not found */ updateScope(token: InjectionToken, scope: InjectableScope): boolean; } declare const globalRegistry: Registry; //#endregion export { FactoryRecord, Registry, globalRegistry }; //# sourceMappingURL=registry.d.mts.map