import type React from 'react'; /** All possible statusline chip keys. * NOTE: `'cpu'` and `'memory'` were removed — CPU/RAM/heap metrics now live * in the right sidebar's SYSTEM card (sidebar-content.tsx). Any stale entries * in a saved statusline profile are silently ignored by `showChip` since no * chip renders them anymore, mirroring how removed phantom items ('version', * 'time', 'sage') are handled. */ export type StatuslineItem = 'state' | 'model' | 'tokens' | 'cache' | 'queue' | 'hint' | 'index' | 'breaker' | 'todos' | 'plan' | 'tasks' | 'fleet' | 'fleet_agents' | 'git' | 'elapsed' | 'context' | 'cost' | 'processes' | 'working_dir' | 'project' | 'yolo' | 'autonomy' | 'eternal_stage' | 'goal' | 'mode' | 'auto_proceed' | 'sessions' | 'tools' | 'token_saving' | 'brain' | 'mailbox' | 'enhance' | 'debug_stream' | 'next_steps' | 'memory_context' | 'side_effects'; /** * Metadata for a temporarily-visible chip (one that appeared due to data, * not user toggle). Tracked so the chip can auto-expire. */ export interface ChipMeta { key: StatuslineItem; /** Unix timestamp (ms) when the chip was shown. */ shownAt: number; /** * Optional expiration time in minutes. Null/undefined = permanent (only * hidden when user toggles it off). Stream chips get a default 5 min. */ expiresIn?: number; } /** Default expiration for stream-triggered chips (5 minutes). */ export declare const STREAM_CHIP_EXPIRES_IN_MINUTES = 5; /** * Returns true if a chip with the given metadata has expired. * Chips with no `expiresIn` never expire on their own. */ export declare function isChipExpired(meta: ChipMeta, now?: number): boolean; /** * Returns a human-readable countdown label for a chip with expiration. * Returns null if the chip has no expiration or has already expired. */ export declare function getExpiresInLabel(meta: ChipMeta, now?: number): string | null; /** * Which TUI status bar line each chip appears on. Used to group chips * visually in the picker. MUST mirror the actual render lines in * `status-bar.tsx`: line 1 = workspace + runtime chips (mode/project/workdir * state + cheap provider/model/context telemetry), line 2 = session context * (memory pressure, git, mode label, tools), line 3 = active work + * connectivity (todos, plan, tasks, fleet, brain, mailbox, goals, * countdowns), line 4 = background services (memory context lifecycle, * codebase-index server health). Exported so the navigation-order test guards * against drift instead of duplicating it. */ export declare const ITEM_LINE: Record; export interface StatuslinePickerProps { /** Focused field index. */ field: number; /** Current hidden-items list. */ hiddenItems: StatuslineItem[]; /** Temporarily-visible chips with expiration metadata. */ visibleChips?: ChipMeta[] | undefined; /** Optional hint message from the reducer. */ hint?: string | undefined; } /** Total number of statusline fields. */ export declare const STATUSLINE_FIELD_COUNT: number; /** Ordered list of statusline items — grouped by display line, then alphabetically within each line for consistent navigation. */ export declare const STATUSLINE_ITEMS: StatuslineItem[]; /** Stream-triggered chips — these auto-expire unless the user has toggled them on permanently. */ export declare const STREAM_CHIP_KEYS: StatuslineItem[]; export declare function StatuslinePicker({ field, hiddenItems, visibleChips, hint, }: StatuslinePickerProps): React.ReactElement; //# sourceMappingURL=statusline-picker.d.ts.map