/** * Token Statistics Store * * Tracks alltime, daily, and per-provider token consumption. * Persists to ~/.rcc/token-stats.json (throttled, survives restarts). */ export interface TokenCounters { promptTokens: number; completionTokens: number; totalTokens: number; } export interface TokenProviderEntry extends TokenCounters { providerKey: string; model: string; } export interface TokenStatsSnapshot { alltime: TokenCounters; daily: TokenCounters; dailyDate: string; providers: TokenProviderEntry[]; } export declare function getTodayKey(): string; /** * Record token consumption for a completed request. * Updates alltime, daily, and per-provider counters, then persists (throttled). */ export declare function recordTokens(providerKey: string, model: string, promptTokens: number, completionTokens: number, totalTokens: number): void; /** * Return cumulative alltime + daily token totals (for [usage] log line). */ export declare function getTokenTotals(): { alltimeTokens: number; dailyTokens: number; }; /** * Return full token stats snapshot (for /daemon/stats API and rollup display). */ export declare function getTokenStatsSnapshot(): TokenStatsSnapshot; /** * Force save to disk (for graceful shutdown / tests). */ export declare function flushTokenStats(): void; /** * Reset all state (for tests only). */ export declare function __resetTokenStatsForTest(): void;