import { DynamicGraphNode, DynamicNodeDefinition, DynamicNodeType, GraphNode, GraphOperation, NodeData, NodeDefinition, NodeName, NodeProperties, NodeState, OperationType, SerializedNodeProperties } from '../../../types/graph'; /** * A definition of the `result` graph operation. * See the [[resultOperation]] documentation to find out more. */ export interface ResultOperation extends GraphOperation<'result', ResultProperties> { } export interface ResultProperties { acc: T; next: GraphNode | undefined; } /** * An implementation of the [[resultOperation]]. * See the [[resultOperation]] documentation to find out more. */ export declare const ResultOperationType: OperationType<'result', ResultProperties>; /** * Creates a new instance of [[resultOperation]]. This operation is used to instruct Muster * to traverse the `result` operation for a given node. */ export declare function result(acc: T, next?: GraphNode): ResultOperation; export declare function isResultOperation(value: GraphOperation): value is ResultOperation; export declare type ResultableNodeType = DynamicNodeType>; export declare type ResultableGraphNode = DynamicGraphNode, ResultableNodeType>; export declare type ResultableNodeDefinition = DynamicNodeDefinition, ResultableNodeType>; export declare function supportsResultOperation(node: NodeDefinition): node is ResultableNodeDefinition; export declare function supportsResultOperation(node: GraphNode): node is ResultableGraphNode; export declare function supportsResultOperation(node: NodeDefinition | GraphNode): node is ResultableNodeDefinition | ResultableGraphNode;