/** * Build an admin-safe message from an ElevenLabs HTTP error body (JSON or plain text). */ export declare function formatElevenLabsErrorResponse(status: number, bodyText: string): string; export type ElevenLabsErrorKind = "quota_exceeded" | "rate_limited" | "unauthorized" | "forbidden" | "upstream"; export declare function inferElevenLabsErrorKind(status: number, bodyText: string, formattedMessage: string): ElevenLabsErrorKind; /** Thrown when ElevenLabs returns a non-OK HTTP status. */ export declare class ElevenLabsHttpError extends Error { readonly status: number; readonly kind: ElevenLabsErrorKind; readonly formatted: string; constructor(message: string, status: number, kind: ElevenLabsErrorKind, formatted: string); } export declare function createElevenLabsHttpError(status: number, bodyText: string): ElevenLabsHttpError; /** * The ElevenLabs SDK may wrap `fetch` failures as `TypeError: fetch failed` while preserving * our {@link ElevenLabsNetworkError} on `.cause`. Peel that off to avoid nested * `createElevenLabsNetworkError` doubling the user-facing message. */ export declare function findElevenLabsNetworkErrorInCauseChain(err: unknown, maxDepth?: number): ElevenLabsNetworkError | undefined; /** Thrown when `fetch` to ElevenLabs fails before an HTTP response (DNS, TLS, proxy, offline). */ export declare class ElevenLabsNetworkError extends Error { readonly kind: "network"; readonly code?: string; /** Cause chain + code for logs and API details */ readonly formatted: string; constructor(message: string, opts: { code?: string; formatted: string; }); } export declare function createElevenLabsNetworkError(cause: unknown): ElevenLabsNetworkError;