import { ExternalServiceDomainError, ConfigurationDomainError, SystemDomainError } from '../domain-errors.js'; import { RateLimitDomainError } from '../domain/network-errors.js'; import type { RequestContext } from './types.js'; interface InvalidConfigParams { configKey: string; value: unknown; expectedType: string; context?: RequestContext; defaultContext?: RequestContext; } export declare const rateLimitErrors: { exceeded: (limit: number, resetTime: Date, context?: RequestContext, defaultContext?: RequestContext) => RateLimitDomainError; quotaExceeded: (quota: number, period: string, context?: RequestContext, defaultContext?: RequestContext) => RateLimitDomainError; }; export declare const externalServiceErrors: { unavailable: (serviceName: string, context?: RequestContext, defaultContext?: RequestContext) => ExternalServiceDomainError; timeout: (serviceName: string, timeout: number, context?: RequestContext, defaultContext?: RequestContext) => ExternalServiceDomainError; badResponse: (serviceName: string, statusCode: number, context?: RequestContext, defaultContext?: RequestContext) => ExternalServiceDomainError; }; export declare const configErrors: { missing: (configKey: string, context?: RequestContext, defaultContext?: RequestContext) => ConfigurationDomainError; invalid: (params: InvalidConfigParams) => ConfigurationDomainError; }; export declare const systemErrors: { serviceUnavailable: (component: string, context?: RequestContext, defaultContext?: RequestContext) => SystemDomainError; maintenanceMode: (context?: RequestContext, defaultContext?: RequestContext) => SystemDomainError; healthCheckFailed: (component: string, reason: string, context?: RequestContext, defaultContext?: RequestContext) => SystemDomainError; }; export {}; //# sourceMappingURL=service-errors.d.ts.map