import { DynamicGraphNode, DynamicNodeDefinition, DynamicNodeType, GraphNode, GraphOperation, NodeData, NodeDefinition, NodeName, NodeProperties, NodeState, OperationType, SerializedNodeProperties } from '../types/graph'; /** * A definition of the `resolve` graph operation. * See the [[resolveOperation]] documentation to find out more. */ export interface ResolveOperation extends GraphOperation<'resolve', ResolveProperties> { } export interface ResolveProperties { until: { predicate: (node: GraphNode) => boolean; errorMessage: (node: GraphNode) => string; } | undefined; allowErrors: boolean; allowPending: boolean; acceptNil: boolean; } /** * An implementation of the [[resolveOperation]]. * See the [[resolveOperation]] documentation to find out more. */ export declare const ResolveOperationType: OperationType<'resolve', ResolveProperties>; /** * Creates a new instance of [[resolveOperation]]. This operation is used to instruct Muster * to traverse the `resolve` operation for a given node. */ export declare function resolveOperation(options?: { until?: { predicate: (node: GraphNode) => boolean; errorMessage: (node: GraphNode) => string; }; allowErrors: boolean; allowPending: boolean; acceptNil: boolean; }): ResolveOperation; export declare function isResolveOperation(value: GraphOperation): value is ResolveOperation; export declare type ResolvableNodeType = DynamicNodeType; export declare type ResolvableGraphNode = DynamicGraphNode>; export declare type ResolvableNodeDefinition = DynamicNodeDefinition>; export declare function supportsResolveOperation(node: NodeDefinition): node is ResolvableNodeDefinition; export declare function supportsResolveOperation(node: GraphNode): node is ResolvableGraphNode; export declare function supportsResolveOperation(node: NodeDefinition | GraphNode): node is ResolvableNodeDefinition | ResolvableGraphNode;