import { IDistributedMutex, IMutexReleaser, TAcquireParams, TDistributedMutexConstructorProps, TMutexAcquireParams, TMutexToken } from "../types"; export declare class InMemoryDistributedMutex implements IDistributedMutex { readonly name: string; readonly implementation: string; private readonly semaphore; private destroyed; constructor(props: TDistributedMutexConstructorProps); get isDestroyed(): boolean; acquire(params?: TMutexAcquireParams): Promise; tryAcquire(params?: TMutexAcquireParams): Promise; restoreReleaser(token: TMutexToken): IMutexReleaser; runExclusive(fn: () => Promise | T): Promise; runExclusive(params: TAcquireParams, fn: () => Promise | T): Promise; cancel(errMessage?: string): Promise; isLocked(): Promise; waitForUnlock(): Promise; /** * Destroying is idempotent and never throws for an already destroyed lock: * tearing something down twice is not an error. */ destroy(message?: string): Promise; private ensureAlive; } //# sourceMappingURL=in-memory-distributed-mutex.d.ts.map