import { type RoomCloseDeps } from './close.js'; import type { CoworkAdapter } from './cowork-adapter.js'; import type { TaskOutcome, TaskRecord, TaskTerminalIntent } from './types.js'; export declare const TASK_OPERATION_LOCK_STALE_MS: number; /** Common per-task operation lock serializing terminal, deletion, and recovery acceptance. */ export declare function taskOperationLockPath(taskId: string): string; export interface TaskTerminalInput { taskId: string; kind: TaskTerminalIntent['kind']; roomId?: string; outcome?: TaskOutcome; } /** Persist first-wins terminal intent before any acknowledgement or close effect. */ export declare function acceptTaskTerminalIntent(input: TaskTerminalInput): Promise; export interface SettleTaskTerminalDeps { roomClose?: RoomCloseDeps; afterRoomClosed?(): void | Promise; } /** Delete the recorded room, then atomically settle the persisted task intent. */ export declare function settleTaskTerminalIntent(input: { taskId: string; cowork: Pick; deps?: SettleTaskTerminalDeps; }): Promise; /** Persist failure to launch an external settle worker under the same task lock. */ export declare function recordTaskTerminalIntentError(taskId: string, error: string, recoveryHint: string): Promise;