export type ProviderErrorKind = 'transient' | 'permanent' | 'config'; export type ProviderErrorCode = 'QUOTA_EXHAUSTED' | 'RATE_LIMITED' | 'EMPTY_OUTPUT' | 'AUTH_REQUIRED' | 'MODEL_UNAVAILABLE' | 'TIMEOUT_IDLE' | 'TIMEOUT_TOTAL' | 'PROVIDER_NOT_FOUND' | 'INVALID_PROVIDER_FORMAT' | 'PROVIDER_CRASHED' | 'UNKNOWN'; export interface ProviderErrorOptions { code?: ProviderErrorCode; kind?: ProviderErrorKind; retryAfterMs?: number; } export declare class ProviderError extends Error { readonly providerStr: string; readonly code: ProviderErrorCode; readonly kind?: ProviderErrorKind; readonly retryAfterMs?: number; constructor(message: string, providerStr: string, options?: ProviderErrorOptions); } export declare class IdleTimeoutError extends ProviderError { constructor(message: string, providerStr: string); } export declare class TotalTimeoutError extends ProviderError { constructor(message: string, providerStr: string); }