import type { PrismaClient, MigrationFile } from "../types"; export interface MigrationHooks { beforeUp?: () => void | Promise; afterUp?: () => void | Promise; beforeDown?: () => void | Promise; afterDown?: () => void | Promise; } export interface MigrationsOptions { migrationsDir?: string; disableLocking?: boolean; skipChecksumValidation?: boolean; lockTimeout?: number; hooks?: MigrationHooks; } export declare class Migrations { private prisma; private migrationsDir; private lock; private disableLocking; private skipChecksumValidation; private lockTimeout; private hooks; constructor(prisma: PrismaClient, options?: MigrationsOptions); private validateAppliedMigrationChecksums; dryRun(steps?: number): Promise; private getMigrationsDir; up(steps?: number): Promise; private runUpMigrations; private runMigrationInTransaction; down(steps?: number): Promise; private runDownMigrations; status(): Promise; pending(): Promise; applied(): Promise; latest(): Promise; reset(): Promise; private runResetMigrations; fresh(): Promise; refresh(): Promise<{ down: number; up: number; }>; upTo(migrationId: string): Promise; private runUpToMigration; downTo(migrationId: string): Promise; private runDownToMigration; upIfNotLocked(steps?: number): Promise<{ ran: boolean; count: number; reason?: string; }>; checkLockStatus(): Promise; releaseLock(): Promise; private getApplied; private detectMigrationFile; private isValidMigrationDir; private parseMigrationName; private filterValidDirectories; private mapToMigrationFiles; private getAllMigrations; private findMigration; } //# sourceMappingURL=index.d.ts.map