import type { AgentSession } from "@earendil-works/pi-coding-agent"; import type { Theme } from "../../theme.js"; import type { AppBlinkController } from "./blink-controller.js"; import type { SessionActivity } from "../types.js"; export type AppStatusControllerHost = { readonly cwd: string; readonly theme: Theme; readonly blinkController: AppBlinkController; runtimeSession(): AgentSession | undefined; draftModelStatus?(): { modelLabel: string; thinkingLabel: string; } | undefined; render(): void; }; export declare class AppStatusController { private readonly host; private status; private statusFollowsSession; private gitBranchCache; private gitBranchLookupInFlight; sessionActivity: SessionActivity; get statusDotBright(): boolean; constructor(host: AppStatusControllerHost); setStatus(status: string): void; setSessionStatus(session: AgentSession | undefined): void; currentStatus(): string; setSessionActivity(activity: SessionActivity): void; stopStatusBlink(): void; formatSessionStatus(session: AgentSession): string; statusModelLabel(session: AgentSession): string; statusThinkingLabel(session: AgentSession): string; statusSessionLabel(session: AgentSession): string; statusWorkspaceLabel(): string; statusWorkspaceGitBranchLabel(): string | undefined; formatContextUsagePercent(session: AgentSession): string; roundedContextUsagePercent(session: AgentSession): number | undefined; contextUsagePercentColor(percent: number): string; private currentGitBranchName; private refreshGitBranchName; private startStatusBlink; }