import type { IMemoryStore, RetentionPolicy } from './IMemoryStore.ts'; export interface VectorRecord { id: string; vector: number[]; metadata?: Record; content: string; createdAt: Date; } export interface VectorSearchResult { record: VectorRecord; score: number; } export interface IVectorStore { connect(path: string): Promise; disconnect(): void; add(records: VectorRecord[]): Promise; search(query: number[], topK: number, filter?: Record): Promise; delete(keyOrFilter: string | Record): Promise; stats(): Promise<{ totalVectors: number; dimension: number; totalEntries: number; oldestEntry: Date | null; }>; getById(id: string): Promise; getByKeyPrefix(prefix: string, limit?: number): Promise; } export declare function escapeLike(value: string): string; /** Builds a metadata LIKE clause for the given equality filters. */ export declare function toSqlFilter(filter: Record): string; export declare class LanceDBStore implements IVectorStore, IMemoryStore { private dimension; private db; private table; private tableName; constructor(dimension?: number); private assertConnected; connect(path: string): Promise; disconnect(): void; add(records: VectorRecord[]): Promise; search(query: number[], topK: number, filter?: Record): Promise; delete(keyOrFilter: string | Record): Promise; stats(): Promise<{ totalVectors: number; dimension: number; totalEntries: number; oldestEntry: Date | null; }>; private rowToRecord; set(key: string, value: VectorRecord, _ttlMs?: number): Promise; get(key: string): Promise; has(key: string): Promise; clear(): Promise; size(): Promise; getById(id: string): Promise; getByKeyPrefix(prefix: string, limit?: number): Promise; private removeOldestRecords; prune(policy: RetentionPolicy): Promise; } //# sourceMappingURL=VectorStore.d.ts.map