import { type AgentChatMessage, type AgentDetails } from "../services/agentService";
import type { EditorSocketDiagnostics } from "../client/socketDiagnostics";
import { type AgentTerminalRunDiagnosticsSnapshot } from "./agentDiagnostics";
export type ContextWindowStatus = {
    contextWindowTokens: number;
    estimatedInputTokens: number;
    contextUsedPercent: number;
    model?: string;
} | null;
export type LiveTotals = {
    input: number;
    output: number;
    cached: number;
    cacheWrite?: number;
    inputCost: number;
    outputCost: number;
    cachedCost: number;
    cacheWriteCost?: number;
    imageCost: number;
    totalCost: number;
    currency?: string;
} | null;
export type TotalTokensForDisplay = {
    input: number;
    output: number;
    cached: number;
    cacheWrite: number;
    totalCost: number;
    inputCost: number;
    outputCost: number;
    cachedCost: number;
    cacheWriteCost: number;
    imageCost: number;
};
export interface AgentTerminalStatusBarProps {
    agent: AgentDetails | undefined;
    contextWindowStatus: ContextWindowStatus;
    effectiveModelName?: string;
    socketDiagnostics: EditorSocketDiagnostics;
    runDiagnosticsSnapshot: AgentTerminalRunDiagnosticsSnapshot;
    liveTotals: LiveTotals;
    totalTokens: TotalTokensForDisplay;
    costLimit: number | undefined;
    messages: AgentChatMessage[];
    showCompressionPopover: boolean;
    setShowCompressionPopover: (v: boolean) => void;
}
export declare function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveModelName, socketDiagnostics, runDiagnosticsSnapshot, liveTotals, totalTokens, costLimit, messages, showCompressionPopover, setShowCompressionPopover, }: AgentTerminalStatusBarProps): import("react/jsx-runtime").JSX.Element;
