/** * Type générique pour les détails d'erreur bruts */ export type GenericErrorDetails = Record; /** * Classe de base pour toutes les erreurs de l'API. */ export declare class ApiError extends Error { readonly name: string; readonly status: number; readonly details?: GenericErrorDetails; constructor(message: string, status: number, details?: GenericErrorDetails); } /** * Erreur levée par le client API lorsqu'un appel échoue (réseau, config, etc.). */ export declare class ApiClientError extends ApiError { readonly name: string; constructor(message: string, status: number, details?: GenericErrorDetails); } /** * Erreur de validation AJV (schemas de requête/réponse). */ export declare class ApiValidationError extends Error { readonly name: string; readonly status: number; readonly messages: string[]; readonly details: any; constructor(message: string, status: number, messages: string[], details?: any); } /** * Levée lorsqu'on bloque l'accès à l'API (circuit breaker). */ export declare class CircuitBreakerError extends ApiError { readonly name: string; constructor(message: string); } /** * Erreur "métier" retour de l'API (ex: result=false) même si HTTP=200. */ export declare class ApiResponseError extends Error { readonly name: string; readonly status: number; readonly responseData: object; readonly details: any; constructor(message: string, status: number, responseData: object, details?: any); } /** * Erreur d'authentification (ex: 401/403). */ export declare class ApiAuthenticationError extends ApiError { readonly name: string; constructor(message: string, status: number, details?: GenericErrorDetails); }