/** * Custom error classes for Olumi SDK */ import type { ErrorResponse } from "./types.js"; /** * Base error class for all Olumi SDK errors */ export declare class OlumiError extends Error { constructor(message: string); } /** * API error (4xx/5xx response from server) */ export declare class OlumiAPIError extends OlumiError { readonly statusCode: number; readonly code: string; readonly details?: Record; readonly requestId?: string; constructor(statusCode: number, error: ErrorResponse); /** * Check if this error is retryable (5xx or 429) */ isRetryable(): boolean; /** * Get retry-after delay in milliseconds (if available) */ getRetryAfter(): number | null; } export interface OlumiNetworkErrorOptions { cause?: unknown; timeout?: boolean; } /** * Network error (connection failed, timeout, etc.) */ export declare class OlumiNetworkError extends OlumiError { readonly cause?: unknown; readonly isTimeout: boolean; constructor(message: string, options?: OlumiNetworkErrorOptions); /** * Network errors are always retryable */ isRetryable(): boolean; } /** * Configuration error (missing API key, invalid URL, etc.) */ export declare class OlumiConfigError extends OlumiError { constructor(message: string); } /** * Validation error (invalid input before request) */ export declare class OlumiValidationError extends OlumiError { readonly field?: string; constructor(message: string, field?: string); }