import type { Insight } from './detectors/index.js'; import type { SessionStats } from './session.js'; export interface SnapshotSession { sessionId: string; sessionIdHash: string; projectDir: string; isSubagent: boolean; startedAt: string | undefined; endedAt: string | undefined; durationMs: number | undefined; totalCostUsd: number; totalInputTokens: number; totalOutputTokens: number; totalCacheReadTokens: number; totalCacheCreate5mTokens: number; totalCacheCreate1hTokens: number; assistantTurnCount: number; syntheticTurnCount: number; userTurnCount: number; apiErrorCount: number; apiRetryCount: number; modelsUsed: string[]; toolUsage: Array<{ toolName: string; callCount: number; totalOutputBytes: number; errorCount: number; }>; } export interface SnapshotProject { projectDir: string; displayName: string; sessionCount: number; totalCostUsd: number; leakScoreUsd: number; } export interface SnapshotToolGlobal { toolName: string; totalCalls: number; totalOutputBytes: number; totalErrors: number; errorRate: number; sessionCount: number; } export interface SnapshotMeta { generatedAt: string; burndVersion: string; filesScanned: number; sessionsScanned: number; recordsParsed: number; recordsSkipped: number; isPro: boolean; } export interface SnapshotTotals { totalCostUsdAllTime: number; totalCostUsdLast7Days: number; totalCostUsdLast30Days: number; totalSessions: number; totalProjects: number; totalAssistantTurns: number; totalInputTokens: number; totalOutputTokens: number; totalCacheReadTokens: number; totalCacheCreate5mTokens: number; totalCacheCreate1hTokens: number; totalApiErrors: number; totalApiRetries: number; potentialSavingsUsd: number; } export interface DailySpendBucket { date: string; totalCostUsd: number; sessionCount: number; totalInputTokens: number; totalOutputTokens: number; } export interface Snapshot { meta: SnapshotMeta; totals: SnapshotTotals; sessions: SnapshotSession[]; projects: SnapshotProject[]; tools: SnapshotToolGlobal[]; insights: Insight[]; dailySpend: DailySpendBucket[]; } export declare function buildSnapshot(allStats: SessionStats[], meta: { burndVersion: string; filesScanned: number; recordsParsed: number; recordsSkipped: number; }): Snapshot; //# sourceMappingURL=snapshot.d.ts.map