/** * This module can be used to map an "action id" back to a promise resolution. It is useful when a query/response * mechanism needs to know when a dispatch action has completed. */ import { ActionId, ActionResult } from "./types"; export declare let actionPromiseMap: Record; export declare let actionResultMap: Record; /** * Create an action Identifier with unique id and type * * @param {string} type the type of the action (e.g. InteropRaiseIntent["type"]) * @returns {ActionId} */ export declare const actionIdentifier: (type: string) => ActionId; /** * Returns promise for an action result -- dovetails with setActionResult() * * NOTE: the use case justifies supporting only one client per actionId; if multiple clients were needed then need an array of promises * * @param {ActionId} actionId the action id that was input to the action dispatch() * @returns {Promise} */ export declare const actionResult: (actionId: ActionId) => Promise; /** * Sets action result and resolves any pending promise waiting on the result -- dovetails with actionResult() * * NOTE: the use case justifies supporting only one client per actionId; if multiple clients were needed then need an array of promises * * @param {ActionId} actionId identifies the result being set * @param {ActionResult} aResult the result being set; actionId.type must match aResult.type (if used property it will) */ export declare const setActionResult: (actionId: ActionId, aResult: ActionResult) => void; //# sourceMappingURL=actionIdMapper.d.ts.map