import type { CompactLifecycleStage } from './compact-lifecycle-store.js'; export type CompactDisplayKind = 'none' | 'queued' | 'preparing' | 'compacting' | 'verifying' | 'completed' | 'failed' | 'stalled' | 'invalid' | 'armed'; export interface CompactStatuslineState { readonly kind: CompactDisplayKind; readonly filledCells: 0 | 2 | 4 | 6 | 8; readonly triggerRatio?: number; readonly afterRatio?: number; readonly redLine?: boolean; readonly failedAt?: CompactLifecycleStage; readonly detail?: string; } /** * Concrete first-version stale timeout. Adjustable after real timing * evidence from the auto-compact orchestrator (it currently writes a * heartbeat on every state transition; 120 s is the longest realistic * gap between a heartbeat and an actual stall). */ export declare const DEFAULT_STALE_AFTER_MS = 120000; /** * 10-second completed-window expiry. The brief (Task 6 design requirement) * calls out: once a compact lifecycle reaches `completed`, the primary * statusline should surface the success indicator for at most 10 seconds, * then fall back to the C1 baseline so the consumer (the IDE) does not * keep a green ✓ pinned on the status bar indefinitely. The narrow window * is sufficient for the human to see "we just compacted" and long enough * to not flap on subsequent reads. Adjustable after real timing feedback. */ export declare const COMPLETED_EXPIRY_MS = 10000; /** * How recently the last history row must itself have been written for the * legacy path to report it as "just compacted". Measured against the row's own * `ts` — the fact — rather than the file's mtime, which is only a proxy for it * and is also moved by rows that record no compaction (repair R9). */ export declare const LEGACY_JUST_COMPACTED_WINDOW_MS = 30000; export declare const STAGE_CELL_COMPACTING = 4; export declare const STAGE_CELL_VERIFYING = 6; export declare const STAGE_CELL_COMPLETED = 8; export declare const CELL_BY_STAGE: ReadonlyMap; export declare const NO_AFTER_RATIO_HINT = "after-ratio not recorded"; export declare function renderBar(filledCells: 0 | 2 | 4 | 6 | 8): string; export declare function renderLegacyBar(filledCells: 0 | 2 | 4 | 6 | 8): string;