import { ApiError, ErrorCategory, FieldError } from './types'; /** * Error normalization configuration */ export interface ErrorNormalizationConfig { /** Map custom error codes to categories */ codeMapping?: Record; /** Extract field errors from response */ extractFieldErrors?: (response: unknown) => FieldError[] | undefined; /** Custom message generator */ generateMessage?: (status: number, response: unknown) => string; /** Include response body in error */ includeResponseBody?: boolean; } /** * Normalize various error formats into a consistent ApiError * * @param error - Error from API or network * @param config - Normalization configuration * @returns Normalized ApiError * * @example * ```typescript * try { * await apiClient.get('/users'); * } catch (error) { * const normalizedError = normalizeError(error); * console.log(normalizedError.category); // 'authentication', 'validation', etc. * console.log(normalizedError.fieldErrors); // Field-level errors * } * ``` */ export declare function normalizeError(error: unknown, config?: ErrorNormalizationConfig): ApiError; /** * Type guard for API errors */ export declare function isApiError(error: unknown): error is ApiError;