/** * PM Transcripts SQLite FTS5 Store * * SEARCH-018: SQLite wrapper with FTS5 full-text search operations * * Storage location: ~/.local/share/australian-history-mcp/pm-transcripts.db */ import type { IndexStats, IndexSearchResult, IndexSearchOptions, StoredTranscript } from './types.js'; /** * SQLite FTS5 store for PM Transcripts */ export declare class PMTranscriptsStore { private db; /** * Get the database file path */ static getDbPath(): string; /** * Check if the database exists */ static exists(): boolean; /** * Open the database connection */ open(): void; /** * Close the database connection */ close(): void; /** * Initialize the database schema */ private initSchema; /** * Drop all tables (for rebuild) */ dropAllTables(): void; /** * Get metadata value */ getMetadata(key: string): string | null; /** * Set metadata value */ setMetadata(key: string, value: string): void; /** * Calculate content hash for deduplication */ static contentHash(content: string): string; /** * Check if a transcript is already indexed with the same content */ isIndexed(transcriptId: number, contentHash: string): boolean; /** * Get highest indexed transcript ID */ getMaxTranscriptId(): number; /** * Index a transcript */ indexTranscript(transcript: StoredTranscript): void; /** * Batch index multiple transcripts */ indexTranscriptBatch(transcripts: StoredTranscript[]): void; /** * Search transcripts using FTS5 */ search(options: IndexSearchOptions): { results: IndexSearchResult[]; total: number; }; /** * Get index statistics */ getStats(): IndexStats; /** * Optimize the FTS5 index */ optimize(): void; /** * List unique Prime Ministers */ listPrimeMinisters(): string[]; /** * List unique release types */ listReleaseTypes(): string[]; } export declare const pmTranscriptsStore: PMTranscriptsStore; //# sourceMappingURL=sqlite-store.d.ts.map