import type { AgentToolResult } from "@earendil-works/pi-agent-core"; import { Container, type TUI } from "@earendil-works/pi-tui"; import type { ToolRenderers } from "../../../core/extensions/types.ts"; export interface ToolExecutionOptions { showImages?: boolean; imageWidthCells?: number; outputPad?: number; } type RenderableToolResult = Omit, "details"> & { details?: unknown; isError: boolean; durationMs?: number; }; export declare class ToolExecutionComponent extends Container { private contentBox; private contentText; private selfRenderContainer; private callRendererComponent?; private resultRendererComponent?; private rendererState; private imageComponents; private imageSpacers; private toolName; private toolCallId; private args; private expanded; private showImages; private imageWidthCells; private outputPad; private isPartial; private toolDefinition?; private builtInToolDefinition?; private ui; private cwd; private executionStarted; private argsComplete; private result?; private renderedImageSpecs; private hideComponent; constructor(toolName: string, toolCallId: string, args: unknown, options: ToolExecutionOptions | undefined, toolDefinition: ToolRenderers | undefined, ui: TUI, cwd: string); private getCallRenderer; private getResultRenderer; private hasRendererDefinition; private getRenderShell; private getRenderContext; private createCallFallback; private createResultFallback; updateArgs(args: unknown): void; markExecutionStarted(): void; setArgsComplete(): void; updateResult(result: RenderableToolResult, isPartial?: boolean): void; setExpanded(expanded: boolean): void; setOutputPad(outputPad: number): void; setShowImages(show: boolean): void; setImageWidthCells(width: number): void; invalidate(): void; dispose(): void; render(width: number): string[]; private updateDisplay; private syncImageComponents; private getTextOutput; private disposeRendererComponent; private clearRendererStateTimer; private formatToolExecution; } export {}; //# sourceMappingURL=tool-execution.d.ts.map