import type { ApplyPatchCommand, ApprovalPolicy } from "../approvals.js";
import type { LibraryConfig } from "../lib.js";
import type { CommandConfirmation } from "../utils/agent/review.js";
import type { CoreMessage, ToolCallPart } from "ai";
/**
 * Execute a tool call and return the response
 * @param toolCall The tool call to execute
 * @param config The UI configuration
 * @param approvalPolicy The approval policy
 * @param additionalWritableRoots Additional writable roots
 * @param getCommandConfirmation Function to get command confirmation
 * @param signal Optional abort signal
 * @returns An array of CoreMessage responses from the tool
 */
export declare function execToolCall(toolCall: ToolCallPart, config: LibraryConfig, approvalPolicy: ApprovalPolicy, additionalWritableRoots: ReadonlyArray<string>, getCommandConfirmation: (command: Array<string>, applyPatch: ApplyPatchCommand | undefined) => Promise<CommandConfirmation>, signal?: AbortSignal): Promise<Array<CoreMessage>>;
