import { ErrorInterface, SuccessInterface } from "../../config/Interfaces/Helper/response.helper.interface"; import { LockInfo } from "../../config/Interfaces/Transaction/transaction.interface"; export default class LockManager { private static instances; private readonly collectionPath; private readonly lockDir; private readonly FileManager; private readonly FolderManager; private readonly Converter; private readonly ResponseHelper; private readonly maxWaitTime; private readonly pollInterval; private constructor(); /** Returns the shared LockManager for a collection path, creating it on first use. */ static getInstance(collectionPath: string): LockManager; acquireLock(documentId: string, transactionId: string, transactionTimestamp: number): Promise; /** Builds the checksummed lock-file content; keeps format in sync with getLockOwner(). */ private buildLockContent; releaseLock(documentId: string): Promise; releaseAllLocks(documentIds: string[]): Promise; isLocked(documentId: string): Promise; getLockOwner(documentId: string): Promise; private sleep; }