import type { MemoryClass, MemoryRecord, MemoryReviewState, MemoryScope } from './memory-store.js';
import { MemoryEmbeddingProviderRegistry } from './memory-embeddings.js';
export declare const MEMORY_VECTOR_DIMS = 384;
export { embedMemoryText } from './memory-embeddings.js';
export interface MemoryVectorSearchFilter {
    scope?: MemoryScope;
    cls?: MemoryClass;
    since?: number;
    reviewState?: MemoryReviewState | MemoryReviewState[];
    minConfidence?: number;
    staleOnly?: boolean;
    limit?: number;
}
export interface MemoryVectorCandidate {
    id: string;
    distance: number;
    similarity: number;
}
export interface MemoryVectorStats {
    backend: 'sqlite-vec';
    enabled: boolean;
    available: boolean;
    path: string;
    dimensions: number;
    indexedRecords: number;
    embeddingProviderId: string;
    embeddingProviderLabel: string;
    error?: string;
}
export declare function resolveMemoryVectorDbPath(dbPath?: string): string;
export declare function memoryVectorSourceHash(record: MemoryRecord): string;
export declare function buildMemoryEmbeddingText(record: MemoryRecord): string;
export declare class SqliteVecMemoryIndex {
    private readonly dbPath;
    private readonly dimensions;
    private readonly embeddingRegistry;
    private db;
    private enabled;
    private available;
    private error;
    private static readonly rebuildBatchSize;
    constructor(dbPath: string, dimensions: number | undefined, embeddingRegistry: MemoryEmbeddingProviderRegistry);
    init(): void;
    stats(): MemoryVectorStats;
    upsert(record: MemoryRecord): void;
    upsertAsync(record: MemoryRecord): Promise<void>;
    delete(recordId: string): void;
    sync(records: readonly MemoryRecord[]): void;
    syncAsync(records: readonly MemoryRecord[], options?: {
        force?: boolean;
    }): Promise<void>;
    search(query: string, filter?: MemoryVectorSearchFilter): MemoryVectorCandidate[];
    close(): void;
    private createSchema;
    private ensureRowId;
    private countIndexedRecords;
    private embedText;
    private writePendingRebuildBatch;
    private writeRecord;
}
//# sourceMappingURL=memory-vector-store.d.ts.map