import { RedisService } from './redis.service'; export interface LockOptions { ttl?: number; retryDelay?: number; maxRetries?: number; timeout?: number; fallback?: (attempt: number) => Promise; } export declare class DistributedLockService { private readonly redisService; private readonly logger; private readonly LOCK_PREFIX; constructor(redisService: RedisService); acquireLock(resource: string, options?: LockOptions): Promise<{ success: boolean; identifier?: string; }>; releaseLock(resource: string, identifier: string): Promise; renewLock(resource: string, identifier: string, ttl: number): Promise; withLock(resource: string, task: () => Promise, options?: LockOptions): Promise; private delay; }