export declare function createPromiseCapability(): { promise: Promise; resolve: Function; reject: Function; }; export declare function createPromiseCapabilityWithTimeout(rejectTimeout?: number, timeoutMessage?: string): { promise: Promise; resolve: Function; reject: Function; }; export declare class AsyncLock { private _queue; private _isLocked; get locked(): boolean; lock(): Promise; unlock(): void; } export declare class PromiseQueue { private _queue; private _queueId; constructor(); enqueue(action: Function): Promise; clear(): void; }