import type { ToolCall } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
/** Props for {@link McpToolDetail}. */
export interface McpToolDetailProps {
    /** The MCP tool call to render with structured formatting. */
    readonly toolCall: ToolCall;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * MCP-aware detail renderer for tool calls originating from an MCP
 * server.
 *
 * Replaces the generic "dump args + result as raw JSON" fallback
 * with structured formatting:
 *
 * - **Arguments** are rendered as a labelled key-value list.
 *   Scalars display inline; objects/arrays collapse into formatted
 *   JSON blocks.
 * - **Results** are parsed through {@link parseMcpResult} which
 *   handles MCP content-block arrays, embedded JSON, and Python
 *   repr artefacts before rendering.
 *
 * @example
 * ```tsx
 * <McpToolDetail toolCall={toolCall} />
 * ```
 */
export declare function McpToolDetail({ toolCall, className }: McpToolDetailProps): import("react/jsx-runtime").JSX.Element;
/** Props for {@link McpMetadataRow}. */
export interface McpMetadataRowProps {
    /** Slug of the MCP server that owns the tool. */
    readonly mcpServerSlug: string;
    /** Name of the tool that was invoked. */
    readonly toolName: string;
    /** Human-readable execution duration, or `null` if still running. */
    readonly duration: string | null;
}
/**
 * Displays MCP server slug, tool name, and optional duration as a
 * compact metadata row above tool arguments.
 */
export declare function McpMetadataRow({ mcpServerSlug, toolName, duration, }: McpMetadataRowProps): import("react/jsx-runtime").JSX.Element | null;
/** Props for {@link McpArgsView}. */
export interface McpArgsViewProps {
    /** Tool argument map to render as a key-value list. */
    readonly args: Record<string, unknown>;
}
/**
 * Renders MCP tool arguments as a structured key-value list.
 *
 * Scalars display inline; objects and arrays collapse into
 * formatted JSON blocks via {@link CollapsibleJsonBlock}.
 */
export declare function McpArgsView({ args }: McpArgsViewProps): import("react/jsx-runtime").JSX.Element | null;
/**
 * Extracts human-readable content from an MCP tool result string.
 *
 * Handles three common formats that arrive from the backend:
 *
 * 1. **MCP content-block array** — `[{"type":"text","text":"..."}]`.
 *    Text parts are extracted and, if they are themselves valid
 *    JSON, pretty-printed.
 * 2. **Python repr** — `[{'type': 'text', 'text': '...'}]`. Single
 *    quotes are normalised to double quotes before parsing.
 * 3. **Plain JSON / text** — returned formatted when valid JSON,
 *    or as-is otherwise.
 */
export declare function parseMcpResult(result: string): string;
//# sourceMappingURL=McpToolDetail.d.ts.map