import { NodeLike } from '../../types'; import { NodeDefinition, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; import { RootAndPath } from '../../utils/ref'; /** * An instance of the [[update]] node. * See the [[update]] documentation to find out more. */ export interface UpdateNode extends StatelessGraphNode<'update', UpdateNodeProperties> { } /** * A definition of the [[update]] node. * See the [[update]] documentation to find out more. */ export interface UpdateNodeDefinition extends StatelessNodeDefinition<'update', UpdateNodeProperties> { } export interface UpdateNodeProperties { target: NodeDefinition; updater: NodeDefinition; } /** * The implementation of the [[update]] node. * See the [[update]] documentation to learn more. */ export declare const UpdateNodeType: StatelessNodeType<'update', UpdateNodeProperties>; export declare function update(rootAndPath: RootAndPath, updater: NodeLike): UpdateNodeDefinition; export declare function update(path: NodeLike | Array, updater: NodeLike): UpdateNodeDefinition; export declare function update(target: NodeDefinition, updater: NodeLike): UpdateNodeDefinition; export declare function update(root: NodeDefinition, path: NodeLike | Array, updater: NodeLike): UpdateNodeDefinition; export declare function isUpdateNodeDefinition(value: NodeDefinition): value is UpdateNodeDefinition;