import type { ThinkingLevel } from "@kenkaiiii/gg-ai";
import { type ContextWindowOptions } from "../../core/model-registry.js";
interface FooterProps {
    model: string;
    tokensIn: number;
    contextWindowOptions?: ContextWindowOptions;
    cwd: string;
    gitBranch?: string | null;
    /**
     * Active thinking tier, or `undefined` when thinking is off. The footer
     * renders the tier verbatim (`Thinking max`) and color-codes by power.
     * `xhigh` and `max` additionally shimmer to signal high-power modes.
     */
    thinkingLevel?: ThinkingLevel;
    planMode?: boolean;
    exitPending?: boolean;
    /** Optional left-side status string (e.g. "Connected · DaVinci Resolve"). */
    statusLabel?: string;
    /** Color for the status label. */
    statusColor?: string;
    /** Hide the cwd label (for products where the working directory isn't useful). */
    hideCwd?: boolean;
    /** Hide the git branch label. */
    hideGitBranch?: boolean;
    /**
     * Render the status label on its own line BELOW the model + tokens row
     * instead of inline on the left. Used by gg-editor where the host
     * connection status ("Connected to DaVinci Resolve…") is more readable on
     * a dedicated row.
     */
    statusBelow?: boolean;
    /** False when raw markdown mode is active. */
    renderMarkdown?: boolean;
}
export declare function getFooterContextPercent(model: string, tokensIn: number, options?: ContextWindowOptions): number;
export declare function getThinkingFooterLabel(thinkingLevel: ThinkingLevel | undefined): string;
export declare function getFooterRightLength({ barWidth, contextPct, modelName, planText, thinkingText, renderMarkdown, }: {
    barWidth: number;
    contextPct: number;
    modelName: string;
    planText?: string;
    thinkingText: string;
    renderMarkdown?: boolean;
}): number;
export declare function doesFooterFitOnOneLine({ columns, model, tokensIn, contextWindowOptions, cwd, gitBranch, thinkingLevel, planMode, statusBelow, renderMarkdown: _renderMarkdown, }: {
    columns: number;
    model: string;
    tokensIn: number;
    contextWindowOptions?: ContextWindowOptions;
    cwd: string;
    gitBranch?: string | null;
    thinkingLevel?: ThinkingLevel;
    planMode?: boolean;
    statusBelow?: boolean;
    renderMarkdown?: boolean;
}): boolean;
export declare function Footer({ model, tokensIn, contextWindowOptions, cwd, gitBranch, thinkingLevel, planMode, exitPending, statusLabel, statusColor, hideCwd, hideGitBranch, statusBelow, renderMarkdown, }: FooterProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=Footer.d.ts.map