import { InjectionTokenSchemaType } from "../token/injection-token.mjs"; import { FactoryRecord } from "../token/registry.mjs"; //#region src/errors/di-error.d.mts declare enum DIErrorCode { FactoryNotFound = "FactoryNotFound", FactoryTokenNotResolved = "FactoryTokenNotResolved", InstanceNotFound = "InstanceNotFound", InstanceDestroying = "InstanceDestroying", CircularDependency = "CircularDependency", TokenValidationError = "TokenValidationError", TokenSchemaRequiredError = "TokenSchemaRequiredError", ClassNotInjectable = "ClassNotInjectable", ScopeMismatchError = "ScopeMismatchError", PriorityConflictError = "PriorityConflictError", StorageError = "StorageError", InitializationError = "InitializationError", DependencyResolutionError = "DependencyResolutionError", UnknownError = "UnknownError", } declare class DIError extends Error { readonly code: DIErrorCode; readonly message: string; readonly context?: Record; constructor(code: DIErrorCode, message: string, context?: Record); static factoryNotFound(name: string): DIError; static factoryTokenNotResolved(token: string | symbol | unknown): DIError; static instanceNotFound(name: string): DIError; static instanceDestroying(name: string): DIError; static unknown(message: string | Error, context?: Record): DIError; static circularDependency(cycle: string[]): DIError; static tokenValidationError(message: string, schema: InjectionTokenSchemaType | undefined, value: unknown): DIError; static tokenSchemaRequiredError(token: string | symbol | unknown): DIError; static classNotInjectable(className: string): DIError; static scopeMismatchError(token: string | symbol | unknown, expectedScope: string, actualScope: string): DIError; static priorityConflictError(token: string | symbol | unknown, records: FactoryRecord[]): DIError; static storageError(message: string, operation: string, instanceName?: string): DIError; static initializationError(serviceName: string, error: Error | string): DIError; static dependencyResolutionError(serviceName: string, dependencyName: string, error: Error | string): DIError; } //#endregion export { DIError, DIErrorCode }; //# sourceMappingURL=di-error.d.mts.map