import * as React from 'react'; export interface ToolCallGroupProps { /** * Summary metadata for the header: "N tool calls · X.Xs total". * Passed in by the caller so the grouping layer stays agnostic about * how duration / status are aggregated. */ count: number; /** Total duration across grouped calls (ms). Omit if unknown. */ totalDurationMs?: number; /** * How many of the grouped calls failed. Non-zero → red accent on the * header chip. Omit → neutral chip. */ failedCount?: number; /** Default-open state. Single-turn bursts benefit from open; long * history benefits from closed. Callers decide. */ defaultOpen?: boolean; children: React.ReactNode; className?: string; } /** * ToolCallGroup — collapsible wrapper around multiple consecutive tool * calls that share an agent turn. Single calls don't need grouping; this * pattern exists for the 3-tool-calls-in-a-row case where individually * rendering 3 bordered cards wastes vertical space and makes the chat * feel busy. * * Rendering contract: * - Header row: `▶ N tool calls · 1.2s total` (+ red tint if any failed) * - Clicking the header toggles visibility of the cards * - When closed, only the header shows; when open, the children render * directly below with no extra chrome (the cards already have their * own borders) * * Why a component and not a div + state: consistent affordance across * chat pages + cross-lane test harnesses can target `tool-call-group`. */ declare function ToolCallGroup({ count, totalDurationMs, failedCount, defaultOpen, children, className, }: ToolCallGroupProps): import("react/jsx-runtime").JSX.Element; export { ToolCallGroup };