import type { PrismaClient } from "../types"; export declare class MigrationLockError extends Error { readonly isTimeout: boolean; constructor(message: string, isTimeout?: boolean); } export declare class MigrationLock { private prisma; private lockAcquired; private readonly staleLockThresholdMs; constructor(prisma: PrismaClient, staleLockThresholdMs?: number); private ensureLockTable; private clearStaleLock; acquire(timeoutMs?: number): Promise; private tryAcquire; release(): Promise; private releaseTableLock; tryLock(fn: () => Promise): Promise<{ acquired: boolean; result?: T; }>; withLock(fn: () => Promise, timeoutMs?: number): Promise; isLocked(): Promise; forceRelease(): Promise; } //# sourceMappingURL=locking.d.ts.map