import type { AgentTool } from "@oh-my-pi/pi-agent-core"; import { type ToolExecutionHandle } from "@oh-my-pi/pi-tui/chat/tool-execution"; import type { InteractiveModeContext } from "../types.js"; /** A tool call about to get its transcript block. */ export interface ToolCallBlockSpec { /** Renderer name (`toolRenderName`). */ readonly name: string; readonly args: unknown; readonly tool: AgentTool | undefined; readonly id: string; /** Directory the call's relative paths resolve against. */ readonly cwd: string; } /** * The block a tool call opens in the interactive transcript: a reply block for a built-in * `write` to a reply URL (`out://`, see {@link isReplyWrite}), a tool card for anything else. * Shared by the live event path and the transcript rebuild so both draw a call the same way. */ export declare function createToolCallBlock(ctx: InteractiveModeContext, call: ToolCallBlockSpec): ToolExecutionHandle;