import { OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import Redlock, { ExecutionResult, Lock, RedlockAbortSignal } from 'redlock'; import { LockServiceOptions } from './types'; export declare class LockService implements OnModuleInit, OnModuleDestroy { readonly options: LockServiceOptions; private readonly defaultLockOptions; private redis; redlock: Redlock; constructor(options: LockServiceOptions); onModuleInit(): Promise; onModuleDestroy(): Promise; private waitUntilInitialized; get isInitialized(): boolean; checkInitialization(): void; errorHandler(error: unknown): void; createConnection(): void; optimistic(key: string, ttl: number, cb: (signal: RedlockAbortSignal) => Promise): Promise; lock(key: string, ttl: number): Promise; get(key: string, lockId: string): Promise; unlock(key: string, lockId: string): Promise; close(): Promise; }