import { type AgentChatMessage, type AgentDiagnosticsResponse, type AgentDetails, type AgentOperationAllowancesResponse } from "../../../services/agentService";
import type { EditorSocketDiagnostics } from "../../../client/socketDiagnostics";
import { type AgentTerminalRunDiagnosticsSnapshot } from "../../agentDiagnostics";
type SocketMessageListener = (callback: (message: {
    type: string;
    payload: any;
}) => void) => () => void;
export type ContextWindowStatus = {
    contextWindowTokens: number;
    estimatedInputTokens: number;
    contextUsedPercent: number;
    model?: string;
    /** Estimated split of the used context by category (category key → tokens) */
    breakdown?: Record<string, number>;
} | null;
export type LiveTotals = {
    input: number;
    output: number;
    cached: number;
    cacheWrite?: number;
    inputAudio?: number;
    outputAudio?: number;
    outputImage?: number;
    reasoning?: number;
    inputCost: number;
    outputCost: number;
    cachedCost: number;
    cacheWriteCost?: number;
    inputAudioCost?: number;
    outputAudioCost?: number;
    outputImageCost?: number;
    imageCost: number;
    markupCost?: number;
    reportedTotalCost?: number;
    totalCost: number;
    currency?: string;
} | null;
export type TotalTokensForDisplay = {
    input: number;
    output: number;
    cached: number;
    cacheWrite: number;
    inputAudio?: number;
    outputAudio?: number;
    outputImage?: number;
    reasoning?: number;
    totalCost: number;
    inputCost: number;
    outputCost: number;
    cachedCost: number;
    cacheWriteCost: number;
    inputAudioCost?: number;
    outputAudioCost?: number;
    outputImageCost?: number;
    imageCost: number;
    markupCost?: number;
    reportedTotalCost?: number;
};
export interface AgentTerminalStatusBarProps {
    agent: AgentDetails | undefined;
    contextWindowStatus: ContextWindowStatus;
    effectiveModelName?: string;
    socketDiagnostics: EditorSocketDiagnostics;
    runDiagnosticsSnapshot: AgentTerminalRunDiagnosticsSnapshot;
    liveTotals: LiveTotals;
    totalTokens: TotalTokensForDisplay;
    costLimit: number | undefined;
    messages: AgentChatMessage[];
    showDebugButtons: boolean;
    showCompressionPopover: boolean;
    setShowCompressionPopover: (v: boolean) => void;
    subscribeSocketMessages?: SocketMessageListener;
    loadRunDiagnostics: (agentId: string, sessionId?: string) => Promise<AgentDiagnosticsResponse>;
    loadLastPayload: (agentId: string) => Promise<{
        payload: string;
        rawResponse: string;
    }>;
    loadOperationAllowances: (agentId: string) => Promise<AgentOperationAllowancesResponse>;
}
export declare function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveModelName, socketDiagnostics, runDiagnosticsSnapshot, liveTotals, totalTokens, costLimit, messages, showDebugButtons, showCompressionPopover, setShowCompressionPopover, subscribeSocketMessages, loadRunDiagnostics, loadLastPayload, loadOperationAllowances, }: AgentTerminalStatusBarProps): import("react").JSX.Element;
export {};
