/** * session-status-bar.ts — Status bar component for the live session TUI. * * Shows animated spinner, agent type, description, elapsed time, * tool use count, and turn count in a single compact line. */ import { type Component, type TUI } from "@mariozechner/pi-tui"; import type { SessionEventStream } from "../session-events.js"; import type { Theme } from "./agent-widget.js"; /** * Status bar showing live agent session stats. */ export declare class SessionStatusBar implements Component { private tui; private theme; private record; private spinnerIdx; private elapsed; private toolCount; private turnCount; private status; private startTime; private timerHandle; private spinnerHandle; private unsubscribe; private closed; constructor(tui: TUI, events: SessionEventStream, theme: Theme, record: { type: string; description: string; createdAt?: number; startedAt?: number; }); /** * Handle session events to update counters. */ private handleEvent; /** * Start timers for elapsed time and spinner animation. */ private startTimers; render(width: number): string[]; handleInput(_data: string): void; invalidate(): void; dispose(): void; /** * Format elapsed seconds into a human-readable duration string. */ private formatElapsed; }