import type { UsageEvent } from "./events.js"; /** A counted item: a name (skill/server/tool) and how many events referenced it. */ export interface Counted { name: string; count: number; } /** Skills grouped by provenance for the "which ECC/canon/user skills" question. */ export interface SkillsBySource { ecc: Counted[]; canon: Counted[]; user: Counted[]; } export interface UsageSummary { total: number; /** Distinct tools that produced events (e.g. git, claude, kiro). */ tools: Counted[]; /** Commit activity from the universal git floor. */ commits: { count: number; added: number; removed: number; files: number; }; /** Local token/cache counters from on-box usage samples. */ tokens: { input: number; output: number; cacheRead: number; cacheCreation: number; total: number; cacheEfficiencyPct: number; }; /** Top skills, overall and split by source. */ skills: { top: Counted[]; bySource: SkillsBySource; }; /** Top MCP servers + tools. */ mcp: { servers: Counted[]; tools: Counted[]; }; } /** Fold a usage-event list into a {@link UsageSummary} (pure, deterministic). */ export declare function aggregateUsage(events: UsageEvent[]): UsageSummary;