/** * @file Mutex for async processing */ export default class Mutex { private locked; private waitings; constructor(); lock(): Promise<() => void>; unlock(): void; runExclusive(job: () => T | Promise): Promise; }