/** * Core analytics manager for tracking and aggregating token usage */ import type { AnalyticsEntry, AnalyticsStorage, HookAnalytics, ActionAnalytics, ServerAnalytics, HookPhase } from './analytics-types.js'; /** * Manager for tracking and analyzing token usage */ export declare class AnalyticsManager { private storage; constructor(storage?: AnalyticsStorage); /** * Track a single operation */ track(entry: Omit): Promise; /** * Track a batch of operations */ trackBatch(entries: Omit[]): Promise; /** * Get per-hook analytics breakdown */ getHookAnalytics(options?: { startDate?: string; endDate?: string; }): Promise; /** * Get per-action analytics breakdown */ getActionAnalytics(options?: { startDate?: string; endDate?: string; }): Promise; /** * Get per-MCP-server analytics breakdown */ getServerAnalytics(options?: { startDate?: string; endDate?: string; }): Promise; /** * Get all analytics entries with optional filters */ getEntries(filters?: { hookPhase?: HookPhase; toolName?: string; mcpServer?: string; startDate?: string; endDate?: string; sessionId?: string; }): Promise; /** * Clear all analytics data */ clear(): Promise; /** * Get total count of analytics entries */ count(): Promise; /** * Aggregate entries by hook phase */ private aggregateByHook; /** * Aggregate entries by tool/action */ private aggregateByAction; /** * Aggregate entries by MCP server */ private aggregateByServer; /** * Calculate aggregated statistics for a group of entries */ private calculateAggregatedStats; /** * Export analytics data as JSON */ exportAsJson(filters?: { startDate?: string; endDate?: string; hookPhase?: HookPhase; toolName?: string; mcpServer?: string; }): Promise; /** * Export analytics data as CSV */ exportAsCsv(filters?: { startDate?: string; endDate?: string; hookPhase?: HookPhase; toolName?: string; mcpServer?: string; }): Promise; /** * Close the underlying storage and flush any pending writes */ close(): Promise; } //# sourceMappingURL=analytics-manager.d.ts.map