import type { ToolCall, ToolResultMessage } from '../ai/types.js';
export interface ToolResultLedgerEntry {
    toolCall: ToolCall;
    result?: ToolResultMessage;
    emitted: boolean;
}
export declare class ToolResultLedger {
    private readonly entries;
    plan(toolCalls: readonly ToolCall[]): void;
    recordResult(toolCall: ToolCall, result: ToolResultMessage): void;
    hasRecordedResult(toolCallId: string): boolean;
    markEmitted(toolCallId: string): void;
    isEmitted(toolCallId: string): boolean;
    resultFor(toolCallId: string): ToolResultMessage | undefined;
    collectResultsInMessageOrder(toolCalls: readonly ToolCall[]): ToolResultMessage[];
}
//# sourceMappingURL=agent-loop-ledger.d.ts.map