///
import Timeout = NodeJS.Timeout;
type ResolveFn = (...args: any[]) => any;
export declare class Lock {
unlockPromise: Promise;
interrupted: boolean;
protected resolve: ResolveFn;
constructor(oldLocks?: Lock[], lockTimeout?: number);
unlock(): void;
interrupt(): void;
}
export declare class LockManager {
protected locks: Map>;
protected lockTimeout: number;
protected lockGCTimeouts: Map;
constructor(lockTimeout?: number);
acquire(keys: string | string[], lockTimeout?: number): Promise;
setLockTimeout(ms: number): void;
}
export {};