import type { DocumentRecord, Chunk, EntityRecord, RelationshipRecord, SearchResult, SearchOptions, GraphSearchResult, DocumentFileType } from '../types/index.js'; export declare class DocumentStore { private db; private useVec; constructor(dbPath?: string); private initialize; addDocument(filename: string, filetype: DocumentFileType, filepath?: string, title?: string): string; getDocument(docId: string): DocumentRecord | null; listDocuments(): DocumentRecord[]; findDocumentByPath(filepath: string): DocumentRecord | null; deleteDocument(docId: string): void; updateDocumentStats(docId: string, totalChunks: number, totalTokens: number): void; addChunks(chunks: Chunk[]): void; getChunks(docId: string): Chunk[]; getChunkById(chunkId: string): Chunk | null; addEmbedding(chunkId: string, embedding: number[]): void; addEmbeddings(entries: Array<{ chunkId: string; embedding: number[]; }>): void; private getEmbedding; /** * Vector similarity search using cosine similarity (JS fallback). */ vectorSearch(queryEmbedding: number[], options?: Partial): SearchResult[]; /** * Full-text keyword search using FTS5 BM25 ranking. */ keywordSearch(query: string, options?: Partial): SearchResult[]; /** * Hybrid search combining vector similarity and BM25 keyword search. * Uses Reciprocal Rank Fusion to merge results. */ hybridSearch(queryEmbedding: number[], queryText: string, options?: Partial): SearchResult[]; addEntity(name: string, type: string, docId: string, description?: string, chunkIds?: string[]): number; getEntities(docId?: string, type?: string): EntityRecord[]; findEntityByName(name: string, docId?: string): EntityRecord | null; addRelationship(sourceEntityId: number, targetEntityId: number, relationship: string, docId: string, chunkId?: string, weight?: number): number; getRelationships(entityId: number): RelationshipRecord[]; /** * Graph-aware search: find entities matching query, traverse relationships, * and collect associated chunks. */ graphSearch(query: string, hops?: number, docId?: string): GraphSearchResult; getStats(): { documents: number; chunks: number; entities: number; relationships: number; }; close(): void; } //# sourceMappingURL=store.d.ts.map