/**
 * Session statistics and context usage computation.
 *
 * Pure functions extracted from AgentSession to keep the orchestration file focused.
 */
import type { Model } from '../../ai/types.js';
import type { AgentMessage, AgentState } from '../../core/index.js';
import type { ContextUsage } from '../extensions/index.js';
import type { ProductSessionStore } from './session-store-types.js';
/** Session statistics for /session command */
export interface SessionStats {
    sessionFile: string | undefined;
    sessionId: string;
    userMessages: number;
    assistantMessages: number;
    toolCalls: number;
    toolResults: number;
    totalMessages: number;
    tokens: {
        input: number;
        output: number;
        cacheRead: number;
        cacheWrite: number;
        total: number;
    };
    cost: number;
}
/**
 * Compute session statistics from agent state.
 */
export declare function computeSessionStats(state: AgentState, sessionFile: string | undefined, sessionId: string): SessionStats;
/**
 * Compute context window usage from agent state.
 */
export declare function computeContextUsage(model: Model<any> | undefined, messages: AgentMessage[], sessionManager: ProductSessionStore): ContextUsage | undefined;
//# sourceMappingURL=session-stats.d.ts.map