/**
 * Sleep consolidation — DB 접근
 */
import type Database from 'better-sqlite3';
export interface EpisodicCandidateRow {
    id: string;
    content: string;
    importance: number;
    ownerId: string | null;
    createdAt: string;
    pinned: boolean;
    isConsolidated: boolean;
}
export interface SemanticOwnerRow {
    id: string;
    content: string;
    originSource: string;
    ownerId: string | null;
}
export declare class ConsolidationRepository {
    private readonly db;
    constructor(db: Database.Database);
    getLookbackDays(): number;
    /**
     * 클러스터링 대상 에피소딕 (미통합, 비핀, lookback 이내)
     */
    findEpisodicCandidates(ownerIdFilter: string | null | undefined, lookbackDays?: number): EpisodicCandidateRow[];
    /**
     * owner별 시맨틱 후보 (재요약 병합용)
     */
    findSemanticsByOwner(ownerId: string | null): SemanticOwnerRow[];
    updateSemanticMemory(params: {
        id: string;
        content: string;
        originSourceJson: string;
    }): void;
    /**
     * memory_id → 파싱된 임베딩 벡터 (첫 행만, 임의 provider 우선 최신)
     */
    loadEmbeddingsMap(memoryIds: string[]): Map<string, number[]>;
    insertSemanticMemory(params: {
        id: string;
        content: string;
        importance: number;
        originSourceJson: string;
        ownerId: string | null;
        privacyScope?: string;
    }): void;
    markEpisodicsConsolidated(memoryIds: string[], importanceCap?: number): void;
}
//# sourceMappingURL=consolidation-repository.d.ts.map