import type { ActionClass, LedgerRecord } from '../core/record.js'; /** * Compress hundreds of tool events into a reviewable timeline. Consecutive * events sharing (action class, top-level area) merge into one phase — the * reviewer cares that the agent "edited src/utils for 40 minutes", not about * each of the 31 individual edits. */ export interface Phase { readonly startSeq: number; readonly endSeq: number; readonly startTs: string; readonly endTs: string; readonly cls: ActionClass; readonly area: string; readonly count: number; readonly sampleTargets: readonly string[]; } export declare function buildTimeline(records: readonly LedgerRecord[]): readonly Phase[]; /** Top-level grouping key: first path segment for paths, class name otherwise. */ export declare function areaOf(target: string, cls: ActionClass): string; export declare function spanHours(records: readonly LedgerRecord[]): number | undefined;