import { IDataHook } from "model-react"; import { IAction } from "../_types/IAction"; import { IActionBinding } from "../_types/IActionBinding"; import { IActionNode } from "../_types/IActionNode"; import { IActionResult } from "../_types/IActionResult"; import { IActionTarget } from "../_types/IActionTarget"; import { IIndexedActionBinding } from "../_types/IIndexedActionBinding"; /** * Obtains the result of the last action node, when all actions are reduced from left to right * @param actions The actions and their bindings to reduce to a single result * @param items The input items that actions can use to extract extra data * @param hook The hook to subscribe to changes (when action bindings change their data) * @param getActionResultIndex The function to use to decide how to order action handler bindings with other bindings * @returns The result of the final action */ export declare function reduceActions(actions: IActionNode[], items: IActionTarget[], hook?: IDataHook, getActionResultIndex?: (bindings: IIndexedActionBinding[]) => number): IActionResult | undefined; /** * Retrieves the action bindings given action, combining direct bindings and handler result bindings in the correct order * @param actionNode The node to get the action inputs for * @returns The inputs for the action of the given node */ export declare function getAllActionBindings(actionNode: IActionNode): IIndexedActionBinding[]; /** * Retrieves the binding data for a given action binding * @param binding The binding to retrieve the data of * @param hook The data hook to subscribe to changes * @returns The binding data */ export declare function getBindingData, I>(binding: IActionBinding, hook?: IDataHook): I; /** * Adds appropriate indexing data to all child bindings of this result * @param actionResult The action result to add indexing to * @param indices The indices of the inputs of this action * @param combinedIndices The combined indices of the input * @returns The indexed result */ export declare function getIndexedResult(actionResult: IActionResult, O>, indices: number[], combinedIndices: number): IActionResult, O>; //# sourceMappingURL=reduceActions.d.ts.map