import type { ProviderErrorResponse } from './errors.js'; export type ProviderErrorCategory = 'auth' | 'context_corruption' | 'timeout' | 'rate_limit' | 'quota_exceeded' | 'aborted_by_user' | 'aborted_by_server' | 'network' | 'model_not_found' | 'service_unavailable' | 'context_length_exceeded' | 'tools_not_supported' | 'streaming_not_supported' | 'empty_response' | 'runtime_lifecycle' | 'unknown' | 'ambiguous'; export interface ProviderErrorAction { id: 'retry' | 'openSettings' | 'switchModel' | 'newSession' | 'resetSession' | 'useFallbackProvider' | 'openBoardAgent'; label: string; variant: 'primary' | 'secondary' | 'ghost'; } export interface ProviderErrorSurface { category: ProviderErrorCategory; userMessage: string; actions: ProviderErrorAction[]; silent: boolean; retryable: boolean; } export interface ProviderErrorInput { errorMessage?: string; status?: number; code?: string; abortReason?: 'user' | 'server' | 'timeout'; provider?: string; baseUrl?: string; lane?: 'quick' | 'thinking'; /** * Optional unified error response from provider. * If provided, status/code/provider are extracted from this. */ providerErrorResponse?: ProviderErrorResponse; } export declare function classifyProviderError(input: ProviderErrorInput): ProviderErrorSurface; export declare function renderProviderErrorSurface(surface: ProviderErrorSurface): string; export declare function sanitizeRawErrorForDetail(raw: string): string; //# sourceMappingURL=error-classify.d.ts.map