import type { Configuration, Transaction, EntityName } from '@mikro-orm/core'; import type { MongoDriver } from '@mikro-orm/mongodb'; import type { Collection, ClientSession, Document, Db } from 'mongodb'; /** Base class for MongoDB migrations. Extend this class and implement `up()` (and optionally `down()`). */ export declare abstract class Migration { protected readonly driver: MongoDriver; protected readonly config: Configuration; protected ctx?: Transaction; constructor(driver: MongoDriver, config: Configuration); abstract up(): Promise; down(): Promise; isTransactional(): boolean; reset(): void; setTransactionContext(ctx: Transaction): void; getCollection(entityOrCollectionName: EntityName | string): Collection; getDb(): Db; }