import type { Theme } from "./pi.js"; import type { PlanItem } from "./wire.js"; import type { PlanRow } from "./model.js"; /** Default plan rows before the expanded view caps with a "…N more" trailer. * Overridable per-session via `/plan lines ` and persistently via `maxRows`. */ export declare const MAX_ROWS = 18; /** Visible column width of a styled string, ignoring SGR + OSC-8 escape sequences. */ export declare function visibleWidth(s: string): number; /** Clamp a styled line to `max` visible columns, preserving escapes and appending an * ellipsis + SGR reset so color never bleeds past the cut. */ export declare function truncateToWidth(s: string, max: number): string; /** Collapsed form: one line — marker, counts, and a grey hint to expand. */ export declare function summaryLine(plans: PlanRow[], agents: PlanItem[], theme: Theme, width?: number): string[]; /** Expanded form: marker header + wave-ordered rows (capped) + the agent group. */ export declare function renderExpanded(plans: PlanRow[], agents: PlanItem[], theme: Theme, width?: number, maxRows?: number): string[];