/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
export interface TokenMetricsSnapshot {
    tokensPerMinute: number;
    throttleWaitTimeMs: number;
    sessionTokenTotal: number;
}
export interface ProviderMetricsLike {
    tokensPerMinute?: number | null;
    throttleWaitTimeMs?: number | null;
}
export interface SessionTokenUsage {
    input: number;
    output: number;
    cache: number;
    tool: number;
    thought: number;
    total: number;
}
export declare function toTokenMetricsSnapshot(metrics: ProviderMetricsLike | null | undefined, usage: SessionTokenUsage | null | undefined): TokenMetricsSnapshot;
export declare function shouldUpdateTokenMetrics(previous: TokenMetricsSnapshot | null, metrics: ProviderMetricsLike | null | undefined, usage: SessionTokenUsage | null | undefined): boolean;
