import { DynamicGraphNode, DynamicNodeDefinition, DynamicNodeType, GraphNode, GraphOperation, NodeData, NodeDefinition, NodeName, NodeProperties, NodeState, OperationType, SerializedNodeProperties } from '../../../types/graph'; /** * A definition of the `step` graph operation. * See the [[stepOperation]] documentation to find out more. */ export interface StepOperation extends GraphOperation<'step', StepProperties> { } export interface StepProperties { acc: T; item: GraphNode; next: GraphNode | undefined; } /** * An implementation of the [[stepOperation]]. * See the [[stepOperation]] documentation to find out more. */ export declare const StepOperationType: OperationType<'step', StepProperties>; /** * Creates a new instance of [[stepOperation]]. This operation is used to instruct Muster * to traverse the `call` operation for a given node. */ export declare function step(acc: T, item: GraphNode, next?: GraphNode): StepOperation; export declare function isStepOperation(value: GraphOperation): value is StepOperation; export declare type SteppableNodeType = DynamicNodeType>; export declare type SteppableGraphNode = DynamicGraphNode, SteppableNodeType>; export declare type SteppableNodeDefinition = DynamicNodeDefinition, SteppableNodeType>; export declare function supportsStepOperation(node: NodeDefinition): node is SteppableNodeDefinition; export declare function supportsStepOperation(node: GraphNode): node is SteppableGraphNode; export declare function supportsStepOperation(node: NodeDefinition | GraphNode): node is SteppableNodeDefinition | SteppableGraphNode;