/**
 * 마이그레이션 실행 엔진
 *
 * 마이그레이션을 안전하게 실행하고, 실패 시 롤백을 수행합니다.
 */
import type Database from 'better-sqlite3';
import { BackupManager } from './backup-manager.js';
import { MigrationLogger } from './migration-logger.js';
import { SchemaVersionManager } from './schema-version-manager.js';
import type { Migration, MigrationOptions, MigrationResult } from './types.js';
/**
 * 마이그레이션 실행기
 */
export declare class MigrationRunner {
    private db;
    private backupManager;
    private versionManager;
    private logger;
    constructor(db: Database.Database, logger?: MigrationLogger);
    /**
     * 마이그레이션 실행
     */
    runMigration(migration: Migration, options?: MigrationOptions): Promise<MigrationResult>;
    /**
     * 마이그레이션 롤백
     */
    rollbackMigration(migration: Migration, _backupPath: string): Promise<void>;
    /**
     * 여러 마이그레이션 순차 실행
     */
    runMigrations(migrations: Migration[], options?: MigrationOptions): Promise<MigrationResult[]>;
    /**
     * 마이그레이션 체크섬 계산
     */
    private calculateChecksum;
    /**
     * 백업 매니저 반환
     */
    getBackupManager(): BackupManager;
    /**
     * 버전 매니저 반환
     */
    getVersionManager(): SchemaVersionManager;
}
//# sourceMappingURL=migration-runner.d.ts.map