import { GraphNode, NodeDefinition, StaticGraphNode, StaticNodeDefinition, StaticNodeType } from '../../types/graph'; /** * An instance of the [[iteratorResult]] node. * See the [[iteratorResult]] documentation to find out more. */ export interface IteratorResultNode extends StaticGraphNode<'iteratorResult', IteratorResultNodeProperties> { } /** * A definition of the [[iteratorResult]] node. * See the [[iteratorResult]] documentation to find out more. */ export interface IteratorResultNodeDefinition extends StaticNodeDefinition<'iteratorResult', IteratorResultNodeProperties> { } export interface IteratorResultNodeProperties { value: NodeDefinition | GraphNode; next: NodeDefinition | GraphNode; } /** * An implementation of the [[iteratorResult]] node. * See the [[iteratorResult]] documentation to find out more. */ export declare const IteratorResultNodeType: StaticNodeType<'iteratorResult', IteratorResultNodeProperties>; /** * Creates a new instance of the [[iteratorResult]] node. This node is used internally by the iterator implementation of * collections, and its purpose is to return a a result from a node implementing `iterate` operation. */ export declare function iteratorResult(value: NodeDefinition | GraphNode, next: NodeDefinition | GraphNode): IteratorResultNodeDefinition; export declare function isIteratorResultNodeDefinition(value: NodeDefinition): value is IteratorResultNodeDefinition;