import type { StoreLogger } from '../types.js'; import type { MigrationContext, MigrationResult } from './types.js'; export declare abstract class BaseMigration { protected logger: StoreLogger; protected context?: MigrationContext; constructor(logger: StoreLogger); execute(options: TOptions): Promise; protected abstract createContext(options: TOptions, startTime: Date): MigrationContext; protected abstract validate(options: TOptions): Promise<{ valid: boolean; errors: string[]; }>; protected abstract preMigration(options: TOptions): Promise; protected abstract performMigration(options: TOptions): Promise; protected abstract postMigration(options: TOptions, result: TResult): Promise; protected abstract createErrorResult(errors: string[]): TResult; protected processBatch(items: T[], batchSize: number, processor: (batch: T[]) => Promise, progressCallback?: (processed: number, total: number) => void): Promise; } //# sourceMappingURL=base-migration.d.ts.map