import type { WireError } from './types.ts'; export interface ZafiroxErrorDetails { readonly code: string; readonly status: number; readonly requestId: string | null; readonly retryable: boolean; readonly field?: string | null; readonly diagnosticId?: string | null; readonly retryAfterSeconds?: number | null; } /** * Error base del SDK. Conserva `code`, `status`, `requestId` y `retryable` * para que el programa cliente decida sin depender del texto del servidor. */ export declare class ZafiroxApiError extends Error { readonly code: string; readonly status: number; readonly requestId: string | null; readonly retryable: boolean; readonly field: string | null; readonly diagnosticId: string | null; readonly retryAfterSeconds: number | null; constructor(message: string, details: ZafiroxErrorDetails); } /** 401: token ausente, inválido, vencido o de otra audiencia. */ export declare class AuthenticationError extends ZafiroxApiError { } /** 403: scope insuficiente, alcance inválido u origen no registrado. */ export declare class AuthorizationError extends ZafiroxApiError { } /** 404: el recurso no existe o no pertenece al alcance autorizado. */ export declare class NotFoundError extends ZafiroxApiError { } /** 422: payload inválido, campo desconocido o regla de negocio. */ export declare class ValidationError extends ZafiroxApiError { } /** 409: conflicto de idempotencia o creación en curso. */ export declare class ConflictError extends ZafiroxApiError { } /** 429: límite del cliente superado; `retryAfterSeconds` indica la espera. */ export declare class RateLimitError extends ZafiroxApiError { } /** 5xx: dependencia no disponible o API apagada. */ export declare class UpstreamError extends ZafiroxApiError { } /** Fallo de red, timeout o respuesta que no respeta el envelope. */ export declare class TransportError extends ZafiroxApiError { } export declare function networkError(message: string, requestId: string | null, cause?: unknown): TransportError; export declare function timeoutError(timeoutMs: number, requestId: string | null): TransportError; export declare function protocolError(message: string, status: number, requestId: string | null): TransportError; export declare function errorFromEnvelope(status: number, errors: readonly WireError[], requestId: string | null, retryAfterSeconds: number | null): ZafiroxApiError; //# sourceMappingURL=errors.d.ts.map