import { DynamicGraphNode, DynamicNodeDefinition, DynamicNodeType, GraphNode, GraphOperation, NodeData, NodeDefinition, NodeDependency, NodeLike, NodeName, NodeProperties, NodeState, OperationType, SerializedNodeProperties } from '../types/graph'; export declare type CallArgument = NodeDefinition | GraphNode; export declare type CallArgumentArray = Array; export declare type CallArgumentMap = { [name: string]: CallArgument; }; export declare type NodeLikeCallArgument = NodeLike | NodeDefinition | GraphNode; export declare type NodeLikeCallArgumentArray = Array; export declare type NodeLikeCallArgumentMap = { [name: string]: NodeLikeCallArgument; }; export declare function isCallArgumentArray(value: CallArgumentArray | CallArgumentMap): value is CallArgumentArray; export declare function isCallArgumentMap(value: CallArgumentArray | CallArgumentMap): value is CallArgumentMap; export declare function isNodeLikeCallArgumentArray(value: NodeLikeCallArgumentArray | NodeLikeCallArgumentMap): value is NodeLikeCallArgumentArray; export declare function isNodeLikeCallArgumentMap(value: NodeLikeCallArgumentArray | NodeLikeCallArgumentMap): value is NodeLikeCallArgumentArray; /** * A definition of the `call` graph operation. * See the [[callOperation]] documentation to find out more. */ export interface CallOperation extends GraphOperation<'call', CallProperties> { } export interface CallProperties { args: CallArgumentArray | CallArgumentMap | undefined; } /** * An implementation of the [[callOperation]]. * See the [[callOperation]] documentation to find out more. */ export declare const CallOperationType: OperationType<'call', CallProperties>; /** * Creates a new instance of [[callOperation]]. This operation is used to instruct Muster to * traverse the `call` operation for a given node. * @param args */ export declare function callOperation(args?: CallArgumentArray | CallArgumentMap): CallOperation; export declare function isCallOperation(value: GraphOperation): value is CallOperation; export declare type CallableNodeType = DynamicNodeType; export declare type CallableGraphNode = DynamicGraphNode>; export declare type CallableNodeDefinition = DynamicNodeDefinition>; export declare function supportsCallOperation(node: NodeDefinition): node is CallableNodeDefinition; export declare function supportsCallOperation(node: GraphNode): node is CallableGraphNode; export declare function supportsCallOperation(node: NodeDefinition | GraphNode): node is CallableNodeDefinition | CallableGraphNode; export declare const untilSupportsCallOperation: NodeDependency['until'];