export declare enum LockType { None = "", Sync = "sync", Exclusive = "exclusive" } export interface Lock { type: LockType; clientType: string; clientId: string; updatedTime?: number; } export interface LockHandlerOptions { autoRefreshInterval?: number; lockTtl?: number; } export default class LockHandler { private api_; private refreshTimers_; private autoRefreshInterval_; private lockTtl_; constructor(api: any, options?: LockHandlerOptions); get lockTtl(): number; set lockTtl(v: number); private lockFilename; private lockTypeFromFilename; private lockFilePath; private lockFileToObject; locks(lockType?: LockType): Promise; private lockIsActive; hasActiveLock(lockType: LockType, clientType?: string, clientId?: string): Promise; activeLock(lockType: LockType, clientType?: string, clientId?: string): Promise; private saveLock; saveLock_(lock: Lock): Promise; private acquireSyncLock; private lockToClientString; private acquireExclusiveLock; private autoLockRefreshHandle; startAutoLockRefresh(lock: Lock, errorHandler: Function): string; stopAutoLockRefresh(lock: Lock): void; acquireLock(lockType: LockType, clientType: string, clientId: string, timeoutMs?: number): Promise; releaseLock(lockType: LockType, clientType: string, clientId: string): Promise; }