/**
 * Session Stats - Real-time context consumption tracking.
 *
 * Records per-tool-call byte usage (raw vs compressed) so users
 * can see where their context window budget goes.
 */
export interface ToolCallRecord {
    tool: string;
    timestamp: number;
    rawBytes: number;
    contextBytes: number;
}
export interface ToolBreakdown {
    tool: string;
    calls: number;
    contextBytes: number;
    rawBytes: number;
}
export interface StatsSummary {
    uptimeMs: number;
    totalCalls: number;
    totalContextBytes: number;
    totalRawBytes: number;
    savingsRatio: number;
    savingsPercent: string;
    modelTokenBudget: number;
    modelTokensConsumed: number;
    compressionEvents: number;
    byTool: ToolBreakdown[];
}
export declare class SessionStats {
    private startTime;
    private calls;
    private _modelTokenBudget;
    private _modelTokensConsumed;
    private _compressionEvents;
    setModelTokenBudget(budget: number): void;
    addModelTokensConsumed(tokens: number): void;
    recordCompressionEvent(): void;
    record(tool: string, rawBytes: number, contextBytes: number): void;
    getSummary(): StatsSummary;
    reset(): void;
    getCalls(): ReadonlyArray<ToolCallRecord>;
}
export declare const globalSessionStats: SessionStats;
//# sourceMappingURL=session-stats.d.ts.map