import type { ModelRequest, ModelResponse } from '../model';
import type { ApplyPatchCallResultItem, ComputerCallResultItem, ComputerUseCallItem, FunctionCallItem, FunctionCallResultItem, ProgramCallResultItem, ShellCallResultItem, StreamEvent, ToolCaller } from '../types/protocol';
type PendingStreamedFunctionCall = Pick<FunctionCallItem, 'callId' | 'name' | 'namespace' | 'caller'>;
type PendingStreamedToolCall = {
    callId: string;
    caller?: ToolCaller;
};
export type StreamAbortReconciliationState = {
    responseId?: string;
    pendingFunctionCalls: Map<string, PendingStreamedFunctionCall>;
    pendingShellCalls: Map<string, PendingStreamedToolCall>;
    pendingApplyPatchCalls: Map<string, PendingStreamedToolCall>;
    pendingProgramCalls: Map<string, string>;
};
export declare const COMPUTER_FALLBACK_SCREENSHOT_DATA_URL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4nGP4z8DwHwAFAAH/iZk9HQAAAABJRU5ErkJggg==";
export declare function buildFunctionAbortResult(toolCall: PendingStreamedFunctionCall): FunctionCallResultItem;
export declare function buildComputerAbortResult(toolCall: Pick<ComputerUseCallItem, 'callId'>): ComputerCallResultItem;
export declare function buildShellAbortResult(toolCall: PendingStreamedToolCall): ShellCallResultItem;
export declare function buildApplyPatchAbortResult(toolCall: PendingStreamedToolCall): ApplyPatchCallResultItem;
export declare function createStreamAbortReconciliationState(): StreamAbortReconciliationState;
export declare function recordStreamEventForAbortReconciliation(state: StreamAbortReconciliationState, event: StreamEvent): void;
export declare function buildAbortReconciliationInput(state: StreamAbortReconciliationState): (FunctionCallResultItem | ShellCallResultItem | ApplyPatchCallResultItem | ProgramCallResultItem)[];
export declare function getAbortReconciliationPreviousResponseId(state: StreamAbortReconciliationState, request: Pick<ModelRequest, 'conversationId' | 'previousResponseId'>): string | undefined;
export declare function shouldReconcileStreamAbort(state: StreamAbortReconciliationState): boolean;
export declare function markAbortReconciliationComplete(state: StreamAbortReconciliationState, response: ModelResponse | undefined): void;
export {};
