import { HookHub } from '@antv/xflow-hook'; import type { NsGraph } from '../../interface'; import type { IHooks } from '../../hooks/interface'; import type { IArgsBase } from '../../command/interface'; import { ICommandHandler } from '../../command/interface'; import type { Model, Node } from '@antv/x6/es'; declare type ICommand = ICommandHandler; export declare namespace NsDelNode { /** Command: 用于注册named factory */ const command: import("../../command/interface").IGraphCommand; /** hook name */ const hookKey = "delNode"; /** 创建 hook */ const createHook: () => HookHub; /** hook 参数类型 */ interface IArgs extends IArgsBase { /** X6 Node Cell */ x6Node?: Node; /** Node元数据 */ nodeConfig: NsGraph.INodeConfig; /** X6 Model Options:https://x6.antv.vision/zh/docs/api/graph/model/#addnode */ options?: Model.RemoveOptions; /** 删除Node的服务 */ deleteNodeService?: IDeleteNodeService; } /** hook handler 返回类型 */ interface IResult { err: null | string; nodeConfig?: NsGraph.INodeConfig; } /** del node api service 类型, 返回true时删除 */ interface IDeleteNodeService { (args: IArgs): Promise; } /** hooks 类型 */ interface ICmdHooks extends IHooks { delNode: HookHub; } } export declare class DelNodeCommand implements ICommand { /** api */ contextProvider: ICommand['contextProvider']; /** 执行Cmd */ execute: () => Promise; /** undo cmd */ undo: () => Promise; /** redo cmd */ redo: () => Promise; isUndoable(): boolean; } export {};