/**
 * VectorStore — SQLite 기반 벡터 저장소
 *
 * 메모리/세션 엔티티의 임베딩 벡터를 BLOB으로 저장.
 * 검색: 전체 로드 → 앱 레벨 코사인 유사도 → 정렬.
 * (메모리 수 천~만 건 수준이므로 앱 레벨 충분)
 */
import Database from 'better-sqlite3';
import type { VectorSearchResult, SessionVectorSearchResult } from './types.js';
export declare class VectorStore {
    private db;
    constructor(db: Database.Database);
    private initializeTables;
    /**
     * 메모리 벡터 저장 (upsert)
     */
    saveMemoryVector(key: string, embedding: number[]): void;
    /**
     * 세션 엔티티 벡터 저장 (upsert)
     */
    saveSessionVector(entityType: string, entityId: number, embedding: number[]): void;
    /**
     * 메모리 벡터 삭제
     */
    deleteMemoryVector(key: string): void;
    /**
     * 세션 엔티티 벡터 삭제
     */
    deleteSessionVector(entityType: string, entityId: number): void;
    /**
     * 메모리 벡터 코사인 유사도 검색
     */
    searchMemoryVectors(queryVec: number[], limit?: number): VectorSearchResult[];
    /**
     * 세션 엔티티 벡터 코사인 유사도 검색
     */
    searchSessionVectors(entityType: string, queryVec: number[], limit?: number): SessionVectorSearchResult[];
    /**
     * 저장된 메모리 벡터 수
     */
    getMemoryVectorCount(): number;
    /**
     * 저장된 세션 벡터 수
     */
    getSessionVectorCount(entityType?: string): number;
}
//# sourceMappingURL=VectorStore.d.ts.map