import type { ChatMessage, NativeToolCall, ReasoningArtifact, ReasoningBlock } from "../types.js"; import { collapseOversizedToolHistory, MAX_RETAINED_COMPLETED_TOOL_ARGUMENT_CHARS, PROTOCOL_PLACEHOLDER_MARKER } from "./tool-history-projection.js"; export { collapseOversizedToolHistory, MAX_RETAINED_COMPLETED_TOOL_ARGUMENT_CHARS, PROTOCOL_PLACEHOLDER_MARKER, }; export declare function toolCallIdsInHistory(messages: readonly ChatMessage[]): Set; export declare function ensureUniqueToolCallIds(calls: readonly NativeToolCall[], reservedIds?: ReadonlySet): NativeToolCall[]; export declare function slimNativeToolCallsForHistory(toolCalls: readonly NativeToolCall[]): NativeToolCall[]; export declare function appendAssistantWithTools(messages: ChatMessage[], text: string, toolCalls: NativeToolCall[], reasoningBlock?: ReasoningBlock | undefined, reasoningArtifacts?: readonly ReasoningArtifact[] | undefined): void; export declare function appendToolResult(messages: ChatMessage[], toolCallId: string, content: string, name?: string, ok?: boolean): void; export declare function hasOrphanToolMessages(messages: ChatMessage[]): boolean; export declare function missingToolResultIds(messages: ChatMessage[]): string[]; export declare function fillMissingToolResults(messages: ChatMessage[], toolCalls: NativeToolCall[], reason?: string): number; export declare function allToolCallsHaveResults(messages: ChatMessage[]): boolean; export declare function expandKeepStartForToolPairs(messages: ChatMessage[], keepStart: number): number; export declare function validateToolProtocol(messages: readonly ChatMessage[]): string[]; export declare function assertValidToolProtocol(messages: readonly ChatMessage[]): void; export declare function formatProtocolPlaceholder(name: string, id: string): string; export declare function repairToolProtocol(messages: ChatMessage[]): number; export declare function projectToolHistory(messages: readonly ChatMessage[]): { messages: ChatMessage[]; changed: boolean; repairs: number; };