/** True when the error indicates a request timeout or deadline exceeded. */ export declare function isTimeoutError(err: unknown): boolean; /** True when the error indicates an API rate limit (HTTP 429). */ export declare function isRateLimitError(err: unknown): boolean; /** True when the error indicates a transport/connection failure. */ export declare function isConnectionError(err: unknown): boolean; /** * True when the error should be retried. * * An explicit `retryable` flag on the error (see {@link explicitRetryableFlag}) * is authoritative — `true` forces a retry, `false` suppresses one even if the * message looks retryable; if explicit flags conflict across an aggregate/cause * graph, `true` wins (see {@link explicitRetryableFlag}). Absent an explicit * flag, fall back to message heuristics (timeout, rate limit, or connection * failure). */ export declare function isRetryableError(err: unknown): boolean; /** A coarse-grained classification of a judge/infrastructure failure, for durable diagnostics. */ export type JudgeErrorClass = "timeout" | "rate-limit" | "connection" | "other"; /** * Classify an error into a durable, machine-readable category for diagnostics. * * This is independent of {@link isRetryableError}: an error can be classified * `"timeout"` yet carry an explicit `retryable: false` (or vice versa), and the * explicit flag is always authoritative for the retry decision. Precedence * when a message matches more than one category is rate-limit, then timeout, * then connection, then other — a "429 ... timed out" message is more * actionably a rate-limit than a timeout. */ export declare function classifyError(err: unknown): JudgeErrorClass; //# sourceMappingURL=error-classifier.d.ts.map