import { type Component } from "@earendil-works/pi-tui"; import type { AgentSession } from "../../../core/agent-session.js"; import type { ReadonlyFooterDataProvider } from "../../../core/footer-data-provider.ts"; export interface FooterRenderStyle { dim(text: string): string; muted(text: string): string; warning(text: string): string; } export declare function formatCwdForFooter(cwd: string, home: string | undefined): string; /** * Right-aligned usage meter that sits above the composer, matching the approved * prototype's separate token/cost/context ribbon. */ export declare class UsageMeterComponent implements Component { private autoCompactEnabled; private session; constructor(session: AgentSession); setSession(session: AgentSession): void; setAutoCompactEnabled(enabled: boolean): void; invalidate(): void; render(width: number): string[]; } /** * Sparse statusline below the composer. It mirrors the preview: model + cwd * when idle, or one semantic dot with short recovery copy while work is live. */ export declare class FooterComponent implements Component { private session; private footerData; private readonly renderStyle; private readonly navigationActive; private branchCwd; private releaseBranch; private disposed; constructor(session: AgentSession, footerData: ReadonlyFooterDataProvider, renderStyle?: FooterRenderStyle, navigationActive?: () => boolean); setSession(session: AgentSession): void; setAutoCompactEnabled(_enabled: boolean): void; /** * No-op: git branch caching now handled by provider. * Kept for compatibility with existing call sites in interactive-mode. */ invalidate(): void; /** Release this viewer's branch subscription without disposing shared footer data. */ dispose(): void; render(width: number): string[]; } //# sourceMappingURL=footer.d.ts.map