/**
 * Knowledge Vault Repository SQLite Implementation
 */
import Database from 'better-sqlite3';
import { type IKnowledgeVaultRepository, type KnowledgeVaultRecord, type CreateKnowledgeVaultInput, type UpdateKnowledgeVaultInput } from '../../../domains/memory/repositories/knowledge-vault-repository.interface.js';
export declare class KnowledgeVaultRepositorySqlite implements IKnowledgeVaultRepository {
    private db;
    constructor(db: Database.Database);
    /**
     * Knowledge Vault 생성
     */
    create(input: CreateKnowledgeVaultInput): Promise<KnowledgeVaultRecord>;
    /**
     * ID로 Knowledge Vault 조회
     */
    findById(vault_id: string): Promise<KnowledgeVaultRecord | null>;
    /**
     * agent_id와 key로 활성 버전 조회 (deleted_at IS NULL인 최신 버전)
     */
    findActiveByKey(agent_id: string, key: string): Promise<KnowledgeVaultRecord | null>;
    /**
     * agent_id와 key로 특정 버전 조회
     */
    findByKeyAndVersion(agent_id: string, key: string, version: number): Promise<KnowledgeVaultRecord | null>;
    /**
     * agent_id와 key로 모든 버전 조회 (삭제된 것 포함)
     */
    findAllVersionsByKey(agent_id: string, key: string): Promise<KnowledgeVaultRecord[]>;
    /**
     * agent_id로 모든 활성 Knowledge Vault 조회 (deleted_at IS NULL)
     */
    findActiveByAgentId(agent_id: string): Promise<KnowledgeVaultRecord[]>;
    /**
     * agent_id로 모든 Knowledge Vault 조회 (삭제된 것 포함)
     */
    findByAgentId(agent_id: string): Promise<KnowledgeVaultRecord[]>;
    /**
     * Knowledge Vault 업데이트 (immutable=true인 경우 제한)
     */
    update(vault_id: string, input: UpdateKnowledgeVaultInput): Promise<KnowledgeVaultRecord | null>;
    /**
     * Knowledge Vault 삭제 (soft delete: deleted_at 설정)
     */
    delete(vault_id: string): Promise<boolean>;
    /**
     * agent_id와 key로 활성 버전 삭제 (soft delete)
     */
    deleteActiveByKey(agent_id: string, key: string): Promise<boolean>;
    /**
     * 하드 삭제 (물리적 삭제, 주의 필요)
     */
    hardDelete(vault_id: string): Promise<boolean>;
    /**
     * 모든 Knowledge Vault 조회 (관리용, 삭제된 것 포함)
     */
    findAll(): Promise<KnowledgeVaultRecord[]>;
    /**
     * 활성 Knowledge Vault만 조회 (deleted_at IS NULL)
     */
    findAllActive(): Promise<KnowledgeVaultRecord[]>;
    /**
     * Knowledge Vault 개수 조회
     */
    count(agent_id?: string, activeOnly?: boolean): Promise<number>;
    /**
     * 다음 버전 번호 조회 (agent_id, key 기준)
     */
    getNextVersion(agent_id: string, key: string): Promise<number>;
}
//# sourceMappingURL=knowledge-vault-repository-sqlite.impl.d.ts.map