/**
 * TUI renderers for built-in tools.
 *
 * These provide rich visualization for tool calls and results in the TUI.
 */
import type { Component } from "@pk-nerdsaver-ai/pi-tui";
import type { RenderResultOptions } from "../extensibility/custom-tools/types";
import type { Theme } from "../modes/theme/theme";
export type ToolRenderer = {
    renderCall: (args: unknown, options: RenderResultOptions, theme: Theme) => Component;
    renderResult: (result: {
        content: Array<{
            type: string;
            text?: string;
        }>;
        details?: unknown;
        isError?: boolean;
    }, options: RenderResultOptions & {
        renderContext?: Record<string, unknown>;
    }, theme: Theme, args?: unknown) => Component;
    mergeCallAndResult?: boolean;
    /** Render without background box, inline in the response flow */
    inline?: boolean;
    /**
     * Whether pending-call rows are provisional: useful on screen while a tool is
     * streaming, but not durable transcript history. `true` means every pending
     * shape is provisional. `"collapsed"` means only the collapsed pending shape
     * is provisional; expanded rendering is top-anchored/append-shaped enough to
     * let the transcript commit its settled prefix. Absent = the pending preview
     * streams rows the result render preserves.
     */
    provisionalPendingPreview?: boolean | "collapsed";
};
export declare const toolRenderers: Record<string, ToolRenderer>;
