import type { Theme } from "@earendil-works/pi-coding-agent"; import { Box, Container, type Component, Text } from "@earendil-works/pi-tui"; export type ToolTextContent = { type?: string; text?: string; }; export type ToolLikeResult = { content?: ToolTextContent[]; details?: unknown; }; export type ToolRenderOptions = { expanded: boolean; isPartial: boolean; }; export type ToolRenderContext = { isError?: boolean; args?: Record; lastComponent?: unknown; state?: Record; }; export type NativeRenderResult = (result: unknown, options: ToolRenderOptions, theme: Theme, context: ToolRenderContext) => Component; export declare function renderToolLabel(theme: Theme, title: string, detail: string): Text; export declare function renderSummaryLine(theme: Theme, summary: string, options?: { expandable?: boolean; }): Text; export declare function decorateGrepResultWithStats(result: T): T & { details: Record & { matchCount: number; fileCount: number; }; }; export declare function formatReadCallDetail(args: { path?: string; offset?: number; limit?: number; }): string; export declare function formatWriteCallDetail(args: { path?: string; content?: string; }): string; export declare function formatEditCallDetail(args: { path?: string; edits?: unknown[]; }): string; export declare function formatPatternInPathDetail(args: { pattern?: string; path?: string; fallbackPattern?: string; }): string; export declare function formatListCallDetail(args: { path?: string; }): string; export declare function summarizeFindCount(result: ToolLikeResult): string; export declare function summarizeListCount(result: ToolLikeResult): string; export declare function summarizeMatchingFileCount(result: ToolLikeResult): string; export declare function summarizeGrepResult(result: ToolLikeResult): string; export declare function buildHiddenCollapsedRenderer(options: { title: string; getDetail(args: Record): string; nativeRenderResult: NativeRenderResult; renderExpanded?: NativeRenderResult; }): { renderCall(args: Record, theme: Theme): Text; renderResult(result: unknown, renderOptions: ToolRenderOptions, theme: Theme, context: ToolRenderContext): Component; }; export declare function buildSelfShellRenderer(options: { stateKey: string; renderCall(args: Record, theme: Theme): Component; renderResult(result: unknown, renderOptions: ToolRenderOptions, theme: Theme, context: ToolRenderContext): Component; }): { renderCall(args: Record, theme: Theme, context: ToolRenderContext): Box; renderResult(result: unknown, renderOptions: ToolRenderOptions, theme: Theme, context: ToolRenderContext): Container; }; export declare function buildSummaryRenderer(options: { title: string; getDetail(args: Record): string; summarize(result: ToolLikeResult): string; nativeRenderResult: NativeRenderResult; expandable?: boolean; }): { renderCall(args: Record, theme: Theme): Text; renderResult(result: unknown, renderOptions: ToolRenderOptions, theme: Theme, context: ToolRenderContext): Component; }; //# sourceMappingURL=tool-renderers.d.ts.map