/** * HistoryStore (v2.17 + v2.19 + v2.20 cipher + FTS5) * * SQLite-backed query history with TTL + LRU eviction. * v2.19: adds profile_name column + filter + groupBy='profile' aggregate. * v2.20: SQLCipher encryption support + FTS5 virtual table for full-text search. */ import type { QueryHistoryEntry, QueryHistoryInput, HistoryFilter, ProfileHistoryAggregate } from './query-analyzer-types.js'; export interface HistoryStoreOptions { ttlDays?: number; maxRows?: number; /** v2.20: SQLCipher key for transparent encryption of history.db. */ cipherKey?: string; } export declare class HistoryStore { readonly dbPath: string; readonly options: HistoryStoreOptions; private conn; private initPromise; private cipherKey?; private _encrypted; /** v2.20: true after init() once the backend is known to be SQLCipher. */ get encrypted(): boolean; constructor(dbPath: string, options: HistoryStoreOptions); private init; record(input: QueryHistoryInput): Promise; query(filter: HistoryFilter): Promise; cleanup(): Promise<{ deleted: number; }>; close(): Promise; /** v2.20: rotate cipher key. */ rotateKey(newKey: string): Promise; private rowToEntry; } //# sourceMappingURL=history-store.d.ts.map