import { type Component } from "@earendil-works/pi-tui";
import type { AgentSession } from "../../../core/agent-session.ts";
import type { ReadonlyFooterDataProvider } from "../../../core/footer-data-provider.ts";
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;
    constructor(session: AgentSession, footerData: ReadonlyFooterDataProvider);
    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;
    /**
     * Clean up resources.
     * Git watcher cleanup now handled by provider.
     */
    dispose(): void;
    render(width: number): string[];
}
//# sourceMappingURL=footer.d.ts.map