import type { ChatMessage } from "../../../types.js"; import type { SalvagedWrite } from "../../tool-call-parser.js"; export interface SalvagedWriteOutcome { readonly ok: boolean; readonly bytesOnDisk: number; } export interface ToolCallRecoveryState { bareToolJsonRetries: number; truncatedToolRetries: number; malformedFenceRetries: number; } export interface ToolCallRecoveryPorts { readonly messages: ChatMessage[]; readonly toolsAttached: boolean; readonly planModeWithoutPlan: boolean; readonly notify: (level: "info" | "warn", message: string) => void; readonly commitAssistantRetry: (text: string) => void; readonly recoveryUserMessage: (content: string) => ChatMessage; readonly applySalvagedWrite: (salvaged: SalvagedWrite) => Promise; } export type ToolCallRecoveryDecision = "retry" | "proceed"; export declare const recoverMissingToolCall: (ports: ToolCallRecoveryPorts, state: ToolCallRecoveryState, input: { readonly visible: string; readonly bareArgsOnly: boolean; }) => Promise;