import { IDistributedRWLock, IReleaser, TAcquireParams, TDistributedRWLockConstructorProps, TExclusiveCallback, TReadLockToken, TWriteLockToken } from "../types"; export declare class InMemoryDistributedReadWriteLock implements IDistributedRWLock { readonly name: string; readonly implementation: string; private readonly rwLock; private destroyed; constructor(props: TDistributedRWLockConstructorProps); get isDestroyed(): boolean; maxReaders(): Promise; activeReaders(): Promise; acquireRead(params?: TAcquireParams): Promise>; acquireWrite(params?: TAcquireParams): Promise>; tryAcquireRead(params?: TAcquireParams): Promise | null>; tryAcquireWrite(params?: TAcquireParams): Promise | null>; withReadLock(fn: TExclusiveCallback): Promise; withReadLock(params: TAcquireParams, fn: TExclusiveCallback): Promise; withWriteLock(fn: TExclusiveCallback): Promise; withWriteLock(params: TAcquireParams, fn: TExclusiveCallback): Promise; cancelAll(errMessage?: string): Promise; isReadLocked(): Promise; isWriteLocked(): 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-read-write-lock.d.ts.map