/** * UsageAnalyticsService - Epic 3: Attribution During Use * * Implements: * - Local SQLite analytics storage * - Usage tracking API with 30-day rolling window * - Export functionality (JSON, CSV) * - Value summary reports */ import type { Database as DatabaseType } from '../db/database-interface.js'; import type { UsageEvent, UsageEventInput, UsageAnalyticsSummary, ExportFormat } from './types.js'; export interface UsageStatsOptions { startDate?: string; endDate?: string; skillId?: string; userId?: string; } export declare class UsageAnalyticsService { private repo; private readonly RETENTION_DAYS; constructor(db: DatabaseType); /** * Track a skill usage event */ trackUsage(input: UsageEventInput): UsageEvent; /** * Get usage summary for a time period (defaults to last 30 days) */ getUsageSummary(options?: UsageStatsOptions): UsageAnalyticsSummary; /** * Get weekly digest for a user */ getWeeklyDigest(userId: string): UsageAnalyticsSummary; /** * Get monthly summary for a user */ getMonthlySummary(userId: string): UsageAnalyticsSummary; /** * Export usage data in specified format */ exportUsageData(options: UsageStatsOptions & { format: ExportFormat; }): string; /** * Clean up events older than retention period */ cleanupOldData(): number; private getDateRange; private getAllEvents; private groupEventsByType; private calculateAverageValueScore; private getTopSkills; private convertToCSV; } //# sourceMappingURL=UsageAnalyticsService.d.ts.map