/**
 * 데이터베이스 의존성 검증 유틸리티
 * 마이그레이션 후 기존 의존성(외래키, 트리거 등)이 정상적으로 작동하는지 검증
 */
import type Database from 'better-sqlite3';
export interface DependencyValidationResult {
    /**
     * 검증 항목 이름
     */
    name: string;
    /**
     * 검증 성공 여부
     */
    success: boolean;
    /**
     * 에러 메시지 (실패 시)
     */
    error?: string;
    /**
     * 검증 상세 정보
     */
    details?: Record<string, any>;
}
/**
 * 의존성 검증 결과
 */
export interface DependencyValidationReport {
    /**
     * 전체 검증 성공 여부
     */
    success: boolean;
    /**
     * 검증 결과 목록
     */
    results: DependencyValidationResult[];
    /**
     * 실패한 검증 개수
     */
    failureCount: number;
}
/**
 * 데이터베이스 의존성 검증기
 */
export declare class DependencyValidator {
    /**
     * 모든 의존성 검증 수행
     */
    static validateAll(db: Database.Database): Promise<DependencyValidationReport>;
    /**
     * memory_embedding 테이블의 외래키 검증
     */
    static validateMemoryEmbeddingForeignKey(db: Database.Database): Promise<DependencyValidationResult>;
    /**
     * FTS5 트리거 검증
     */
    static validateFTS5Triggers(db: Database.Database): Promise<DependencyValidationResult>;
    /**
     * VEC 트리거 검증
     */
    static validateVECTriggers(db: Database.Database): Promise<DependencyValidationResult>;
}
//# sourceMappingURL=dependency-validator.d.ts.map