/**
 * Worker Tool Executor
 *
 * Executes tools for workers with proper streaming and state management.
 * Provides the same execution path for both chat-triggered and task-triggered actions.
 */
export interface ToolExecutionResult {
    success: boolean;
    output: string;
    details?: any;
    error?: string;
}
export interface ToolExecutionStream {
    onEvent: (event: ToolExecutionEvent) => void;
    result: Promise<ToolExecutionResult>;
}
export type ToolExecutionEvent = {
    type: 'tool_started';
    toolName: string;
    params: any;
} | {
    type: 'tool_stdout';
    data: string;
} | {
    type: 'tool_stderr';
    data: string;
} | {
    type: 'tool_progress';
    progress: number;
    message?: string;
} | {
    type: 'tool_finished';
    result: ToolExecutionResult;
};
/**
 * Get available tools for a worker based on workspace and config
 */
export declare function getWorkerTools(workspace: string, allowedTools?: string[]): any[];
/**
 * Execute a tool with streaming events
 */
export declare function executeToolWithStream(toolName: string, params: any, workspace: string, allowedTools?: string[], context?: any, onEvent?: (event: any) => void, parentOperationId?: string, // taskId or turnId for chat tool calls
parentOperationType?: 'task' | 'chat', // Type of parent operation
externalSignal?: AbortSignal): ToolExecutionStream;
/**
 * Execute multiple tool calls from a model response
 */
export declare function executeToolCalls(toolCalls: any[], workspace: string, allowedTools?: string[], context?: any, onEvent?: (event: any) => void, parentOperationId?: string, parentOperationType?: 'task' | 'chat'): Promise<{
    results: ToolExecutionResult[];
    combinedOutput: string;
}>;
//# sourceMappingURL=worker-tool-executor.d.ts.map