import type { MemoryLock } from '../drivers/memory-store'; import { LockService } from '../interfaces/lock.service'; /** * Service for managing in-memory locks using MemoryStore. */ export declare class AsyncLockMemoryService implements LockService { #private; private readonly options?; private readonly logger; private memoryStore; constructor(options?: any | undefined); /** * Acquire a lock for a given resource. * @param resource The resource to lock. * @param ttl Time-to-live for the lock in ms. */ acquireLock(resource: string, ttl?: number): Promise; /** * Run a function with a lock held for the duration. * @param resource The resource to lock. * @param ttl Time-to-live for the lock in ms. * @param fn The function to run. */ runWithLock(resource: string, ttl: number, fn: () => Promise): Promise; /** * Release a previously acquired lock. * @param lock The lock to release. */ releaseLock(lock: MemoryLock): Promise; /** * Cleanup resources on module destroy. */ onModuleDestroy(): Promise; } //# sourceMappingURL=async-lock.memory.service.d.ts.map