import { type AlignRow } from "../../../lib/trace/align.js"; import type { TraceSpan } from "../../../lib/trace/types.js"; export interface CompareLane { /** Display label (e.g. a trace id). */ id: string; root: TraceSpan; /** Data still loading — the lane renders a skeleton and no deltas compute. */ pending?: boolean; } export interface TraceCompareProps { /** Baseline lane. */ laneA: CompareLane; /** Compared lane (B vs A). */ laneB: CompareLane; /** Custom aligner (default: structural `alignSpanTrees`). */ align?: (a: TraceSpan, b: TraceSpan) => AlignRow[]; /** USD cost formatter. Default `$0.0000`. */ formatCostUsd?: (usd: number) => string; className?: string; } /** * TraceCompare — two traces side by side (B vs A baseline): a metrics header * per lane and a structural diff table. Deltas are honest — a span present in * only one trace is marked `only in A/B` with no fabricated delta. The * component receives DATA (lanes); fetching/URL live in the consumer. */ export declare function TraceCompare({ laneA, laneB, align, formatCostUsd, className, }: TraceCompareProps): import("react").JSX.Element;