import type { SqliteAdapter as Database } from '../db/sqlite-adapter.js'; export interface ProjectDetailModel { model: string; requests: number; cost_usd: number; } export interface ProjectDetailSession { id: string; total_cost_usd: number; started_at: string; } export interface ProjectDetail { project_name: string; project_path: string; total_cost_usd: number; total_tokens: number; sessions: number; daily: Array<{ date: string; cost_usd: number; }>; models: ProjectDetailModel[]; top_sessions: ProjectDetailSession[]; } /** Detailed breakdown for a single project matched by name or path substring. */ export declare function queryProjectDetail(db: Database, nameOrPath: string): ProjectDetail | null; export type ExportType = 'sessions' | 'requests'; /** Raw rows for a CSV export. CSV formatting stays in the caller. */ export declare function queryExportRows(db: Database, type: ExportType, period: string): Array>; export interface RangeStats { cost: number; requests: number; tokens: number; sessions: number; } /** Cost/request/token/session totals for an inclusive [from,to] date range. */ export declare function queryRangeStats(db: Database, from: string, to: string): RangeStats; export interface ForecastData { day_of_month: number; days_in_month: number; spent_so_far_usd: number; daily_avg_usd: number; projected_usd: number; last7_daily_avg_usd: number; last7_projected_usd: number; cheapest_day: { date: string; cost_usd: number; } | null; most_expensive_day: { date: string; cost_usd: number; } | null; } /** End-of-month projection based on current burn rate. */ export declare function queryForecast(db: Database, now?: Date): ForecastData; export interface ModelEfficiency { model: string; input: number; output: number; cache_read: number; cache_write: number; requests: number; cost: number; } /** Per-model token efficiency (output/input ratio, cache hit %, cost/1k out). */ export declare function queryModelEfficiency(db: Database): ModelEfficiency[]; //# sourceMappingURL=analytics.d.ts.map