import { DynamicGraphNode, DynamicNodeDefinition, DynamicNodeType, GraphNode, GraphOperation, NodeData, NodeDefinition, NodeName, NodeProperties, NodeState, OperationType, SerializedNodeProperties } from '../../../types/graph'; export declare type RequestMetadata = { [namespace: string]: any; }; /** * A definition of the `request` graph operation. * See the [[requestOperation]] documentation to find out more. */ export interface RequestOperation extends GraphOperation<'request', RequestProperties> { } export interface RequestProperties { metadata: RequestMetadata; next: GraphNode | undefined; query: NodeDefinition; } /** * An implementation of the [[requestOperation]]. * See the [[requestOperation]] documentation to find out more. */ export declare const RequestOperationType: OperationType<'request', RequestProperties>; /** * Creates a new instance of [[requestOperation]]. This operation is used to instruct Muster * to traverse the `request` operation for a given node. */ export declare function requestOperation(query: NodeDefinition, metadata: RequestMetadata, next?: GraphNode): RequestOperation; export declare function isRequestOperation(value: GraphOperation): value is RequestOperation; export declare type RequestNodeType = DynamicNodeType; export declare type RequestGraphNode = DynamicGraphNode>; export declare type RequestNodeDefinition = DynamicNodeDefinition>; export declare function supportsRequestOperation(node: NodeDefinition): node is RequestNodeDefinition; export declare function supportsRequestOperation(node: GraphNode): node is RequestGraphNode; export declare function supportsRequestOperation(node: NodeDefinition | GraphNode): node is RequestNodeDefinition | RequestGraphNode;