import { type Conversation } from "./protocol.js"; import type { TerminalControlRef } from "./terminal-agent-adapter.js"; /** * Keep a Turn immutable while it is reserved by a nonterminal deferred * foreground transfer. This guard observes Store state only and never sends * terminal input. */ export declare function assertConversationHasNoNonterminalDeferredForegroundTransfer({ storeDir, conversation, action }: { storeDir: string; conversation: Conversation; action: string; }): void; /** * Keep one exact physical terminal immutable while a deferred foreground * transfer still owns its lifecycle boundary. */ export declare function assertTerminalHasNoNonterminalDeferredForegroundTransfer({ storeDir, pid, terminalControl, action }: { storeDir: string; pid: number; terminalControl: TerminalControlRef; action: string; }): void;