import type { SessionTrace, TurnUsage } from '../types/telemetry.js'; type TurnUsageInput = Omit; /** * Append-only per-session token totals. `record()` is synchronous O(1). */ export declare class TokenAccumulator { private readonly contextWindow?; private _turns; private _cumInput; private _cumOutput; private _cumTotal; private _peakUtil; private _cumCacheRead; private _cumCacheWrite; constructor(contextWindow?: number | undefined); /** Rehydrate cumulative totals from persisted session state (cross-turn). */ restoreCumulative(saved: { inputTokens: number; outputTokens: number; totalTokens: number; cacheReadTokens?: number; cacheWriteTokens?: number; }): void; record(usage: TurnUsageInput): TurnUsage; get cumulative(): { inputTokens: number; outputTokens: number; totalTokens: number; cacheReadTokens: number; cacheWriteTokens: number; }; get peakUtilization(): number; get turns(): TurnUsage[]; toSessionTraceFields(): Partial; } export {};