/**
 * Primitive to allow coordination between async processes.
 */
export declare class AsyncAwaitQueue {
    private readonly queue;
    /** Await another async process to call notify(). */
    waitForCompletion(timeout?: number): Promise<boolean>;
    /** Trigger any await()ing async processes to continue. */
    notify(): void;
}
export declare function pause(delayMilliseconds?: number): Promise<any>;
/** Wraps a promise with a timeout. Rejects with an error if the timeout expires before resolution. */
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, errorMessage?: string): Promise<T>;
