import { GraphNode, NodeDefinition, NodeLike, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; /** * An instance of the [[array]] node. * See the [[array]] documentation to find out more. */ export interface ArrayNode extends StatelessGraphNode<'array', ArrayNodeProperties> { } /** * A definition of the [[array]] node. * See the [[array]] documentation to find out more. */ export interface ArrayNodeDefinition extends StatelessNodeDefinition<'array', ArrayNodeProperties> { } export interface ArrayNodeProperties { items: Array; } /** * The implementation of the [[array]]. * See the [[array]] documentation to learn more. */ export declare const ArrayNodeType: StatelessNodeType<'array', ArrayNodeProperties>; /** * Creates a new instance of an [[array]] node, which is a type of [[NodeDefinition]] used for storing an array of graph nodes. * This is one of the most basic types of nodes used by Muster. * The main use for this node is when resolving a [[query]] that targets a collection. * In that case, the [[array]] holds a list of items returned by that query. */ export declare function array(items: Array): ArrayNodeDefinition; export declare function isArrayNodeDefinition(array: NodeDefinition): array is ArrayNodeDefinition; export declare function toGraphNodesWithIndices(owner: GraphNode, items: Array): Array;