import { EventEnvelope, TreeNode } from "./types.js"; import { ViewerThresholds } from "./thresholds.js"; export declare function childEvent(node: TreeNode, type: string): EventEnvelope | undefined; export declare function childEvents(node: TreeNode, type: string): EventEnvelope[]; export declare function spanDetail(node: TreeNode): string | undefined; export declare function llmCallDetail(node: TreeNode): string | undefined; export declare function lastUserMessage(pc: EventEnvelope): string | undefined; export declare function completionOutcome(pc: EventEnvelope): string | undefined; /** `1.2s` / `450ms` as the tree has always shown; `{ minutes: true }` * adds the `15m59s` form for the timeline's long spans, where `959.0s` * stops being readable. One formatter, two call styles — never two * formatters. */ export declare function fmtDuration(ms?: number, opts?: { minutes?: boolean; }): string; export declare function stripQuotes(s?: string): string; export declare function truncate(text: string, limit: number): string; export declare function durationColor(ms: number, t: ViewerThresholds): string | undefined; export declare function costColor(usd: number, thresholds: ViewerThresholds): string | undefined; export declare function toolArgSummary(args: unknown): string;