import type { ToolCall } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
/** Props for {@link ToolCallDetail}. */
export interface ToolCallDetailProps {
    /** The tool call to render in detail. */
    readonly toolCall: ToolCall;
    /**
     * Whether the owning row's header truncated the primary argument (the search
     * query / list path). A header-owned layout fact: when `true`, the search/list
     * body restates the full, wrapping value so a long query is reachable without
     * relying on the hover tooltip; when `false` (the default) the header already
     * shows the value in full, so the body does not repeat it. Only the
     * search/list branch consumes it.
     */
    readonly primaryArgTruncated?: boolean;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * Renders the detail panel for a single tool call with category-specific
 * treatments.
 *
 * Arguments render through the shared {@link ToolArgsView} (same component used
 * by {@link ApprovalCard}); results render through {@link ResultView}, driven by
 * `@stigmer/sdk`'s `normalizeToolResult` — so an edit shows a diff, a shell shows
 * a terminal with an exit badge, a search shows a match list, and unknown tools
 * degrade to readable JSON instead of a raw dump.
 *
 * Composition varies by category to avoid redundancy: an edit shows only the
 * diff (which already names the file and quantifies the change); a write shows
 * its input content; a read shows just the path.
 *
 * Importable on its own by platform builders composing custom tool UIs.
 *
 * @example
 * ```tsx
 * <ToolCallDetail toolCall={toolCall} />
 * ```
 */
export declare function ToolCallDetail({ toolCall, primaryArgTruncated, className, }: ToolCallDetailProps): import("react/jsx-runtime").JSX.Element;
/**
 * Returns a human-readable duration string from two ISO 8601 timestamps, or
 * `null` when either timestamp is empty or invalid.
 */
export declare function formatDuration(startedAt: string, completedAt: string): string | null;
//# sourceMappingURL=ToolCallDetail.d.ts.map