import { DynamicGraphNode, DynamicNodeDefinition, DynamicNodeType, GraphNode, GraphOperation, NodeData, NodeDefinition, NodeName, NodeProperties, NodeState, OperationType, SerializedNodeProperties } from '../../../types/graph'; /** * A definition of the `push` graph operation. * See the [[pushOperation]] documentation to find out more. */ export interface PushOperation extends GraphOperation<'push', PushProperties> { } export interface PushProperties { value: NodeDefinition; } /** * An implementation of the [[pushOperation]]. * See the [[pushOperation]] documentation to find out more. */ export declare const PushOperationType: OperationType<'push', PushProperties>; /** * Creates a new instance of [[pushOperation]]. This operation is used to instruct Muster * to traverse the `push` operation for a given node. */ export declare function pushOperation(value: NodeDefinition): PushOperation; export declare function isPushOperation(value: GraphOperation): value is PushOperation; export declare type PushtableNodeType = DynamicNodeType; export declare type PushtableGraphNode = DynamicGraphNode>; export declare type PushtableNodeDefinition = DynamicNodeDefinition>; export declare function supportsPushOperation(node: NodeDefinition): node is PushtableNodeDefinition; export declare function supportsPushOperation(node: GraphNode): node is PushtableGraphNode; export declare function supportsPushOperation(node: NodeDefinition | GraphNode): node is PushtableNodeDefinition | PushtableGraphNode;