import type { ErrorClass, OperationId } from './events/types.js'; export type FaultLink = 'pi→provider' | 'viewer↔broker' | 'relay↔broker' | 'browser↔relay' | 'cli→exa' | 'daemon→node' | 'crtr→pi'; export type FaultKind = 'rate-limit' | 'overloaded' | 'connection' | 'auth' | 'protocol' | 'context-overflow' | 'other' | 'wedged' | 'model-not-found'; export type FaultRetryDisposition = 'auto' | 'manual' | 'fatal'; export type FaultRetryOwner = 'sdk' | 'daemon' | 'client'; export interface FaultRetry { disposition: FaultRetryDisposition; by?: FaultRetryOwner; attempt?: number; max?: number; nextAt?: string; } export interface Fault { link: FaultLink; op: string; kind: FaultKind; retry: FaultRetry; message: string; since: string; operation_id: OperationId; anchorEntryId?: string; } export interface FaultClassification { kind: FaultKind; disposition: FaultRetryDisposition; } export declare function errorClassFromFault(fault: Pick): ErrorClass; export interface FaultErrnoLike { code?: unknown; errno?: unknown; message?: unknown; } export interface FaultHttpLike { status?: unknown; statusText?: unknown; ok?: unknown; message?: unknown; } export interface FaultWsCloseLike { code?: unknown; reason?: unknown; } export declare function classify(link: FaultLink, raw: unknown): FaultClassification;