/** * Persistent storage for analytics data using SQLite */ import type { AnalyticsEntry, AnalyticsStorage } from './analytics-types.js'; /** * SQLite-backed analytics storage */ export declare class SqliteAnalyticsStorage implements AnalyticsStorage { private db; private batchQueue; private batchTimer; private readonly BATCH_SIZE; private readonly BATCH_DELAY_MS; constructor(dbPath?: string); /** * Initialize database schema */ private initializeDatabase; /** * Save a single analytics entry (batched for performance) */ save(entry: AnalyticsEntry): Promise; /** * Save multiple analytics entries in a single transaction */ saveBatch(entries: AnalyticsEntry[]): Promise; /** * Schedule a delayed batch flush */ private scheduleBatchFlush; /** * Flush the current batch to database */ private flushBatch; /** * Query analytics entries with optional filters */ query(filters?: Partial): Promise; /** * Get all entries within a date range */ queryByDateRange(startDate: string, endDate: string): Promise; /** * Clear all analytics data */ clear(): Promise; /** * Get total count of stored entries */ count(): Promise; /** * Convert database rows to AnalyticsEntry objects */ private rowsToEntries; /** * Close the database connection */ close(): Promise; } //# sourceMappingURL=analytics-storage.d.ts.map