import type { AgentToolResult, ToolRenderResultOptions } from "@earendil-works/pi-coding-agent"; import { type Component, Text } from "@earendil-works/pi-tui"; type McpToolResultDetails = Record & { error?: unknown; }; interface RenderTheme { fg: (name: string, text: string) => string; bold?: (text: string) => string; } export interface McpProxyToolCallInput { tool?: string | string[]; args?: string | Record; connect?: string; describe?: string; search?: string; query?: string; regex?: boolean; includeSchemas?: boolean; server?: string; action?: string; } interface McpToolRenderContext { isError: boolean; } export interface McpToolResultDisplay { lines: string[]; truncated: boolean; } declare class CollapsibleText implements Component { private readonly text; private readonly expanded; private readonly maxCollapsedLines; private readonly ellipsis; private readonly expandHint; private readonly preTruncated; private readonly fullText; private readonly footerText; private collapsedText; private collapsedRender; constructor(text: string, expanded: boolean, maxCollapsedLines: number, ellipsis: string, expandHint: string, preTruncated?: boolean); render(width: number): string[]; invalidate(): void; } export declare function formatMcpProxyToolCallLines(args: McpProxyToolCallInput, maxInputChars?: number): string[]; export declare function formatMcpDirectToolCallLines(displayName: string, args: Record, maxInputChars?: number): string[]; export declare function renderMcpProxyToolCall(args: McpProxyToolCallInput, theme?: RenderTheme): Text; export declare function createMcpDirectToolCallRenderer(displayName: string): (args: Record, theme?: RenderTheme) => Text; export declare function formatMcpToolResultIdentity(details: McpToolResultDetails | undefined): string | null; export declare function formatMcpToolResultLines(result: Pick, "content">, expanded: boolean, maxCollapsedLines?: number, maxCollapsedChars?: number): McpToolResultDisplay; export declare function renderMcpToolResult(result: AgentToolResult, options: ToolRenderResultOptions, theme?: RenderTheme, context?: McpToolRenderContext): CollapsibleText | Text; export {};