/** Allow to perform async functions in a defined order * This adds the callback to a queue and is resolved when ALL previous callbacks with same name are executed * Use it like: await transaction('nameOfTheFlow', async () => { ...myFunction }) * @param {String|Function} name name for the actions that should never happen concurrently * @param {Function} asyncCallback * @param {Number} timeout default: 120000 (120s) will throw an error if transaction time is higher that this amount of ms * @returns {Promise} */ export declare function transaction(name: string, asyncCallback: () => any, timeout?: number, doNotThrow?: boolean): Promise; export declare function removeItemFromQueue(name: string): Promise; /** Wait for a transaction to complete without creating a new transaction */ export declare function waitForTransaction(transactionName: string, forceReleaseInSeconds?: number): Promise;