import { ZodError } from 'zod'; import { AppError } from './errors/app-error.js'; export * from './errors/app-error.js'; export * from './errors/error-context.js'; export * from './errors/enhanced-app-error.js'; export * from './errors/domain-errors.js'; export { ErrorFactory } from './errors/error-factory.js'; export * from './errors/error-serialization.js'; export * from './errors/error-tracking.js'; export * from './errors/error-recovery.js'; export * from './errors/types.js'; export declare const ErrorCodes: { readonly BAD_REQUEST: "BAD_REQUEST"; readonly VALIDATION_ERROR: "VALIDATION_ERROR"; readonly AUTHENTICATION_FAILED: "AUTHENTICATION_FAILED"; readonly UNAUTHORIZED: "UNAUTHORIZED"; readonly FORBIDDEN: "FORBIDDEN"; readonly NOT_FOUND: "NOT_FOUND"; readonly METHOD_NOT_ALLOWED: "METHOD_NOT_ALLOWED"; readonly CONFLICT: "CONFLICT"; readonly GONE: "GONE"; readonly UNPROCESSABLE_ENTITY: "UNPROCESSABLE_ENTITY"; readonly TOO_MANY_REQUESTS: "TOO_MANY_REQUESTS"; readonly INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR"; readonly NOT_IMPLEMENTED: "NOT_IMPLEMENTED"; readonly BAD_GATEWAY: "BAD_GATEWAY"; readonly SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE"; readonly GATEWAY_TIMEOUT: "GATEWAY_TIMEOUT"; readonly SESSION_EXPIRED: "SESSION_EXPIRED"; readonly INVALID_TOKEN: "INVALID_TOKEN"; readonly TOKEN_EXPIRED: "TOKEN_EXPIRED"; readonly INSUFFICIENT_PERMISSIONS: "INSUFFICIENT_PERMISSIONS"; readonly RESOURCE_LOCKED: "RESOURCE_LOCKED"; readonly DUPLICATE_ENTRY: "DUPLICATE_ENTRY"; readonly INVALID_OPERATION: "INVALID_OPERATION"; readonly DATABASE_ERROR: "DATABASE_ERROR"; readonly EXTERNAL_SERVICE_ERROR: "EXTERNAL_SERVICE_ERROR"; }; export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes]; export declare class BadRequestError extends AppError { constructor(message: string, details?: Record); } export declare class UnprocessableEntityError extends AppError { constructor(message: string, details?: Record); } export declare class InternalServerError extends AppError { constructor(message?: string, details?: Record); } export declare class ServiceUnavailableError extends AppError { constructor(message?: string, details?: Record); } export declare class GatewayTimeoutError extends AppError { constructor(message?: string, details?: Record); } export declare class SessionExpiredError extends AppError { constructor(message?: string); } export declare class TokenError extends AppError { constructor(message: string, code?: 'INVALID_TOKEN' | 'TOKEN_EXPIRED'); } export declare class ResourceLockedError extends AppError { constructor(resource: string); } export declare class DuplicateEntryError extends AppError { constructor(field: string, value: string); } export declare class DatabaseError extends AppError { constructor(message: string, originalError?: unknown); } export declare class ExternalServiceError extends AppError { constructor(service: string, message: string, statusCode?: number); } export interface ErrorResponse { error: { code: string; message: string; details?: Record; timestamp: string; requestId?: string; }; } export declare const serializeErrorForREST: (error: Error | AppError | ZodError, requestId?: string) => ErrorResponse; export declare const serializeErrorForGRPC: (error: Error | AppError | ZodError) => { code: number; message: string; details: string; }; export declare const serializeErrorForWebSocket: (error: Error | AppError | ZodError, messageId?: string) => { type: "error"; id?: string; error: { code: string; message: string; details?: unknown; }; }; export declare const isAppError: (error: unknown) => error is AppError; export declare const isOperationalError: (error: unknown) => boolean; export declare const normalizeError: (error: unknown) => Error; //# sourceMappingURL=errors.d.ts.map