import { VectorChunk, VectorSearchHit, VectorStore } from './VectorStore';
export interface SqliteVectorStoreOptions {
    dim: number;
    dbPath?: string;
}
export declare function defaultIndexDir(): string;
export declare class SqliteVectorStore implements VectorStore {
    private readonly db;
    private readonly dimSize;
    private readonly dbPath;
    constructor(opts: SqliteVectorStoreOptions);
    dim(): number;
    upsert(chunks: VectorChunk[]): Promise<void>;
    search(vec: number[], topK: number, filter?: {
        file?: string;
        language?: string;
    }): Promise<VectorSearchHit[]>;
    deleteByFile(filePath: string): Promise<void>;
    size(): Promise<number>;
    close(): Promise<void>;
    /** Lookup by id (utility for incremental indexer). */
    getMetaById(id: string): {
        hash: string;
        mtime: number;
    } | null;
    /** Lookup all chunks for a file (utility for incremental indexer). */
    getFileChunks(file: string): Array<{
        id: string;
        hash: string;
        mtime: number;
    }>;
}
