import type { RequestContext } from './factories/types.js'; interface RangeValidationInput { field: string; value: unknown; min: number; max: number; context?: RequestContext; } import type { AuthenticationDomainError, ExternalServiceDomainError, PerformanceDomainError, SystemDomainError, BusinessLogicDomainError } from './domain-errors.js'; export declare class ErrorFactory { private static defaultContext; static setDefaultContext(context: RequestContext): void; static getDefaultContext(): RequestContext; static clearDefaultContext(): void; static auth: { invalidCredentials: (context?: RequestContext) => AuthenticationDomainError; tokenExpired: (context?: RequestContext) => AuthenticationDomainError; tokenInvalid: (context?: RequestContext) => AuthenticationDomainError; missingToken: (context?: RequestContext) => AuthenticationDomainError; accountLocked: (context?: RequestContext) => AuthenticationDomainError; accountDisabled: (context?: RequestContext) => AuthenticationDomainError; }; static authorization: { insufficientPermissions: (requiredPermissions: string[], userPermissions: string[], context?: RequestContext) => import("./domain-errors.js").AuthorizationDomainError; roleRequired: (requiredRole: string, userRole: string, context?: RequestContext) => import("./domain-errors.js").AuthorizationDomainError; resourceAccessDenied: (resource: string, context?: RequestContext) => import("./domain-errors.js").AuthorizationDomainError; operationForbidden: (operation: string, context?: RequestContext) => import("./domain-errors.js").AuthorizationDomainError; }; static browser: { pageNotFound: (pageId: string, context?: RequestContext) => import("./domain-errors.js").BrowserDomainError; elementNotFound: (selector: string, pageId: string, context?: RequestContext) => import("./domain-errors.js").BrowserDomainError; navigationFailed: (url: string, error: string, context?: RequestContext) => import("./domain-errors.js").BrowserDomainError; actionTimeout: (action: string, selector: string, timeout: number, context?: RequestContext) => import("./domain-errors.js").BrowserDomainError; poolExhausted: (poolSize: number, activeConnections: number, context?: RequestContext) => import("./domain-errors.js").BrowserDomainError; browserCrashed: (browserId: string, context?: RequestContext) => import("./domain-errors.js").BrowserDomainError; evaluationFailed: (script: string, error: string, context?: RequestContext) => import("./domain-errors.js").BrowserDomainError; }; static network: { connectionFailed: (url: string, context?: RequestContext) => import("./domain-errors.js").NetworkDomainError; timeout: (url: string, timeout: number, context?: RequestContext) => import("./domain-errors.js").NetworkDomainError; dnsResolutionFailed: (hostname: string, context?: RequestContext) => import("./domain-errors.js").NetworkDomainError; sslError: (url: string, error: string, context?: RequestContext) => import("./domain-errors.js").NetworkDomainError; proxyError: (proxyUrl: string, context?: RequestContext) => import("./domain-errors.js").NetworkDomainError; }; static resource: { memoryExhausted: (currentUsage: number, maxLimit: number, context?: RequestContext) => import("./domain-errors.js").ResourceDomainError; cpuExhausted: (currentUsage: number, maxLimit: number, context?: RequestContext) => import("./domain-errors.js").ResourceDomainError; connectionPoolExhausted: (poolSize: number, activeConnections: number, context?: RequestContext) => import("./domain-errors.js").ResourceDomainError; diskSpaceExhausted: (available: number, required: number, context?: RequestContext) => import("./domain-errors.js").ResourceDomainError; fileHandleExhausted: (currentUsage: number, maxLimit: number, context?: RequestContext) => import("./domain-errors.js").ResourceDomainError; }; static validation: { required: (field: string, context?: RequestContext) => import("./domain-errors.js").ValidationDomainError; invalidFormat: (field: string, value: unknown, expectedFormat: string, context?: RequestContext) => import("./domain-errors.js").ValidationDomainError; outOfRange: (params: RangeValidationInput) => import("./domain-errors.js").ValidationDomainError; invalidEnum: (field: string, value: unknown, validValues: unknown[], context?: RequestContext) => import("./domain-errors.js").ValidationDomainError; tooLong: (field: string, value: string, maxLength: number, context?: RequestContext) => import("./domain-errors.js").ValidationDomainError; tooShort: (field: string, value: string, minLength: number, context?: RequestContext) => import("./domain-errors.js").ValidationDomainError; }; static rateLimit: { exceeded: (limit: number, resetTime: Date, context?: RequestContext) => import("./domain-errors.js").RateLimitDomainError; quotaExceeded: (quota: number, period: string, context?: RequestContext) => import("./domain-errors.js").RateLimitDomainError; }; static externalService: { unavailable: (serviceName: string, context?: RequestContext) => ExternalServiceDomainError; timeout: (serviceName: string, timeout: number, context?: RequestContext) => ExternalServiceDomainError; badResponse: (serviceName: string, statusCode: number, context?: RequestContext) => ExternalServiceDomainError; }; static config: { missing: (configKey: string, context?: RequestContext) => import("./domain-errors.js").ConfigurationDomainError; invalid: (configKey: string, value: unknown, expectedType: string, context?: RequestContext) => import("./domain-errors.js").ConfigurationDomainError; }; static security: { suspiciousActivity: (threatType: string, sourceIp: string, context?: RequestContext) => import("./domain-errors.js").SecurityDomainError; xssAttempt: (input: string, context?: RequestContext) => import("./domain-errors.js").SecurityDomainError; sqlInjection: (input: string, context?: RequestContext) => import("./domain-errors.js").SecurityDomainError; }; static performance: { slowOperation: (operation: string, duration: number, threshold: number, context?: RequestContext) => PerformanceDomainError; memoryLeak: (component: string, memoryUsage: number, context?: RequestContext) => PerformanceDomainError; }; static system: { serviceUnavailable: (component: string, context?: RequestContext) => SystemDomainError; maintenanceMode: (context?: RequestContext) => SystemDomainError; healthCheckFailed: (component: string, reason: string, context?: RequestContext) => SystemDomainError; }; static businessLogic: { ruleViolation: (rule: string, details: Record, context?: RequestContext) => BusinessLogicDomainError; workflowError: (workflow: string, step: string, context?: RequestContext) => BusinessLogicDomainError; }; static custom: { create: any>(errorClass: T, ...args: ConstructorParameters) => InstanceType; }; } export declare const createError: typeof ErrorFactory; export type ErrorFactoryType = typeof ErrorFactory; export type AuthErrorFactory = typeof ErrorFactory.auth; export type BrowserErrorFactory = typeof ErrorFactory.browser; export type NetworkErrorFactory = typeof ErrorFactory.network; export type ResourceErrorFactory = typeof ErrorFactory.resource; export type ValidationErrorFactory = typeof ErrorFactory.validation; export {}; //# sourceMappingURL=error-factory.d.ts.map