import { DynamicGraphNode, DynamicNodeDefinition, DynamicNodeType, GraphNode, GraphOperation, NodeData, NodeDefinition, NodeName, NodeProperties, NodeState, OperationType, SerializedNodeProperties } from '../../../types/graph'; /** * A definition of the `contains` graph operation. * See the [[containsOperation]] documentation to find out more. */ export interface ContainsOperation extends GraphOperation<'contains', ContainsProperties> { } export interface ContainsProperties { item: NodeDefinition; comparator: NodeDefinition; } /** * An implementation of the [[containsOperation]]. * See the [[containsOperation]] documentation to find out more. */ export declare const ContainsOperationType: OperationType<'contains', ContainsProperties>; /** * Creates a new instance of [[containsOperation]]. This operation is used to instruct Muster * to traverse the `contains` operation for a given node. */ export declare function containsOperation(item: NodeDefinition, comparator: NodeDefinition): ContainsOperation; export declare function isContainsOperation(value: GraphOperation): value is ContainsOperation; export declare type ContainsableNodeType = DynamicNodeType; export declare type ContainsableGraphNode = DynamicGraphNode>; export declare type ContainsableNodeDefinition = DynamicNodeDefinition>; export declare function supportsContainsOperation(node: NodeDefinition): node is ContainsableNodeDefinition; export declare function supportsContainsOperation(node: GraphNode): node is ContainsableGraphNode; export declare function supportsContainsOperation(node: NodeDefinition | GraphNode): node is ContainsableNodeDefinition | ContainsableGraphNode;