import type { MetricsTokenUsage, SessionTokenBreakdown } from "./types"; /** * Aggregate token usage for a plan by summing across matching session summaries. * * Reads all session summaries, filters to those whose `sessionId` is in `sessionIds`, * and sums their `tokenUsage` fields. Sessions without `tokenUsage` contribute zeros * (backward compatibility). * * Maps from session TokenUsage (inputTokens/outputTokens) to MetricsTokenUsage (input/output). */ export declare function aggregateTokensForPlan(directory: string, sessionIds: string[]): MetricsTokenUsage; /** Result of detailed token aggregation across sessions for a plan */ export interface DetailedTokenAggregation { /** Total token usage across all sessions */ total: MetricsTokenUsage; /** Total dollar cost across all sessions */ totalCost: number; /** Per-session breakdowns */ sessions: SessionTokenBreakdown[]; /** Per-model aggregation (grouped by model ID, "(unknown)" for sessions without model) */ modelBreakdown: Array<{ model: string; tokens: MetricsTokenUsage; cost: number; sessionCount: number; }>; } /** * Aggregate token usage for a plan with per-session and per-model detail. * * The existing `aggregateTokensForPlan()` is unchanged for backward compatibility. * This function adds per-session breakdowns and model attribution. */ export declare function aggregateTokensDetailed(directory: string, sessionIds: string[]): DetailedTokenAggregation;