import type { ContextUsageSnapshot } from "../../llm/token-usage.js"; import type { Mode } from "../../types.js"; import type { InkTheme } from "../render/ink-theme.js"; import type { StatusRowsWanted } from "./row-budget.js"; export declare const STATUS_INSET_COLUMNS = 1; export interface StatusViewInput { readonly ink: InkTheme; readonly columns: number; readonly allocatedRows: number; readonly mode: Mode; readonly contextChip: string | undefined; readonly contextUsage: ContextUsageSnapshot | undefined; readonly contextLimitEditing?: boolean | undefined; readonly contextLimitDraft?: string | undefined; readonly running: boolean; readonly compacting: boolean; readonly activity: string | undefined; readonly cancelArmed: boolean; readonly tick: number; readonly hasDraft: boolean; readonly queued: number; readonly planVisible: boolean; readonly hasActivePlan: boolean; readonly thinkingExpanded?: boolean | undefined; readonly outputExpanded?: boolean | undefined; } export declare function formatElapsed(seconds: number): string; export declare function relativizeHome(path: string, home: string): string; export declare function fitSegments(segments: readonly string[], budget: number, separator: string): string; export declare function statusRowsWanted(): StatusRowsWanted; export declare function statusRows(input: StatusViewInput): readonly string[];