import { ToolExecutionMode } from "../constants.js";
import { ToolCall, ToolDefinition } from "./Tool.js";
/**
 * Result of a tool execution, including halt status
 */
export interface ToolExecutionResult {
    role: "tool";
    tool_call_id: string;
    content: string;
    halted: boolean;
}
export declare class ToolHandler {
    static shouldExecuteTools(toolCalls: ToolCall[] | undefined, mode?: ToolExecutionMode): boolean;
    static requestToolConfirmation(toolCall: ToolCall, onConfirm?: (call: ToolCall) => Promise<boolean> | boolean): Promise<boolean>;
    static execute(toolCall: ToolCall, tools: ToolDefinition[] | undefined, onStart?: (call: ToolCall) => void, onEnd?: (call: ToolCall, result: unknown) => void): Promise<ToolExecutionResult>;
}
//# sourceMappingURL=ToolHandler.d.ts.map