import { type Configuration, type MigrationsOptions, type Transaction } from '@mikro-orm/core';
import type { AbstractSqlDriver } from '@mikro-orm/sql';
import type { Migration } from './Migration.js';
/** Executes individual migration files within optional transaction contexts. */
export declare class MigrationRunner {
    #private;
    protected readonly driver: AbstractSqlDriver;
    protected readonly options: MigrationsOptions;
    protected readonly config: Configuration;
    constructor(driver: AbstractSqlDriver, options: MigrationsOptions, config: Configuration);
    run(migration: Migration, method: 'up' | 'down', afterRun?: (tx?: Transaction) => Promise<void>): Promise<void>;
    private resetSessionSchema;
    setMasterMigration(trx: Transaction): void;
    unsetMasterMigration(): void;
    setRunSchema(schema?: string): void;
    unsetRunSchema(): void;
    private getQueries;
}
