/** Error shape for append conversation run events. */ export declare class AppendConversationRunEventsError extends Error { readonly status: number; readonly detail: string | null; readonly slug: string | null; constructor(input: { status: number; detail?: string | null; slug?: string | null; statusText?: string; }); } /** Parsed append conversation run events problem details. */ export interface ParsedAppendConversationRunEventsErrorBody { detail: string | null; slug: string | null; } /** Parses append conversation run events problem details without losing machine identity. */ export declare function parseAppendConversationRunEventsError(bodyText: string): ParsedAppendConversationRunEventsErrorBody; /** Parses append conversation run events error body. */ export declare function parseAppendConversationRunEventsErrorBody(bodyText: string): string | null; /** * The run already reached a terminal status server-side, so it will never accept * another event -- nor a terminal transition. Cancelling a project's in-flight runs * before deleting it is the common source. An exact `resource-not-found` slug * for the captured conversation/run pair also means that pair can no longer accept * a terminal transition. This is deliberately narrower than * {@link isIgnorableConversationRunAppendError}: other missing resources and a run * waiting for a tool result are ignorable for appends but say nothing about * finalization, and every other rejection must keep surfacing as an error. */ export declare function isTerminalRunConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError; /** Error shape for is ignorable conversation run append. */ export declare function isIgnorableConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError; /** * A payload-too-large rejection is permanent: the same bytes will be rejected on * every retry, so the mirror must stop rather than retry-storm the API. The runtime * normalizes events under the limit before appending, so reaching this is a bug — * classify it distinctly so it can be surfaced loudly instead of silently ignored. */ export declare function isPayloadTooLargeConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError; /** Error shape for permanent auth rejection while appending run events. */ export declare function isPermanentAuthConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError; /** Error shape for is cursor mismatch conversation run append. */ export declare function isCursorMismatchConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError; //# sourceMappingURL=durable-append-errors.d.ts.map