export interface AcquiredLock {
    release(): void;
}
export declare class AsyncLock {
    private taskQueue;
    private active;
    acquireLock(): Promise<AcquiredLock>;
    withLock<T>(action: () => Promise<T>): Promise<T>;
}
