import { Lock, Lockable } from '@sidewinder/async'; export interface MemoryMutexOptions { /** The resource being locked */ resource: string; /** The maximum lifetime in milliseconds in which a lock can be held */ lifetime: number; } /** Creates a in memory mutex that issues temporal lifetime locks */ export declare class MemoryMutex implements Lockable { #private; constructor(options: MemoryMutexOptions); lock(): Promise; private static resources; private static resolveMutex; }