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