import React from 'react';
import type { BashExecutionState } from '../services/bash-executor.js';
import type { ToolManager } from '../tools/tool-manager.js';
import type { ToolCall, ToolResult } from '../types/core.js';
export interface StreamingBashRun {
    toolCall: ToolCall;
    result: ToolResult;
    /**
     * Present only on a successful run. Absent when validation failed (the
     * caller should render the error result via the normal formatter rather
     * than a completed BashProgress card).
     */
    bashState?: BashExecutionState;
}
/**
 * Run an `execute_bash` tool call through the streaming executor: validate the
 * args (the streaming executor bypasses the validated registry handler, so the
 * per-tool validator must run here), mount a live `BashProgress` so output shows
 * while the command runs, await completion, then clear the live component.
 *
 * Used by the unified tool-execution routine in `tool-executor` for both
 * auto-executed and user-approved bash calls, so the live bash rendering
 * behaves identically regardless of how the tool was approved. Callers own how
 * the completed state is displayed (inline vs. deferred tally).
 */
export declare function runStreamingBashTool(toolCall: ToolCall, toolManager: ToolManager | null, setLiveComponent: (component: React.ReactNode) => void, keyPrefix: string, signal?: AbortSignal): Promise<StreamingBashRun>;
//# sourceMappingURL=streaming-bash-tool.d.ts.map