import { type UpdateSessionFields } from "../registry.js"; import type { EngineAttempt } from "./engine-run.js"; import type { TurnInput, TurnRun, TurnSurface } from "./types.js"; /** Preflight refused: record the reason everywhere the turn would have landed. */ export declare function settleRefusedTurn(input: TurnInput, surface: TurnSurface, error: string, terminalFields: () => UpdateSessionFields): Promise; /** What the runner observed about how this turn ended, beyond its result. */ export interface TurnVerdict { quietPreempted: boolean; streamedThrough: number; /** A newer user message displaced this turn. */ superseded: boolean; /** The engine got far enough to have this turn's prompt in its own transcript. */ enginePromptRead: boolean; } /** Settle a turn that reached the engine, whether or not its answer is wanted. */ export declare function settleAnsweredTurn(run: TurnRun, attempt: EngineAttempt, model: string | undefined, verdict: TurnVerdict): Promise; /** The turn threw: settle it as failed. The caller has confirmed it can land. */ export declare function settleThrownTurn(run: TurnRun, errMsg: string): Promise; /** * A stale engine-session id makes every resume fail. Drop this engine's typed ref * so the next attempt starts a fresh engine session instead of retrying a dead one, * and drop any rate-limit override that would otherwise restore the dead id. */ export declare function clearDeadEngineSession(sessionId: string, engineName: string): void; //# sourceMappingURL=settle.d.ts.map