import { DataSourceOption } from "../../common/BaseUI/DropdownRenderer/Reference"; import { BaseNodeType, NodeSchema, NodeVersion } from "../register/node"; import Schema from "../../MagicJsonSchemaEditor/types/Schema"; import { Edge, XYPosition } from "reactflow"; import { MagicFlow } from "../types/flow"; export declare const useQuery: () => URLSearchParams; /** 处理基本节点模型的渲染属性 * MagicFlow.Node -> reactflow node */ export declare const handleRenderProps: (n: MagicFlow.Node, index: number, paramsName: MagicFlow.ParamsName) => void; export declare const getPxWidth: (text: string) => number; /** * 将某段字符串复制到粘贴板 */ export declare function copyToClipboard(text: string): void; export declare function schemaToDataSource(currentNodeSchema: NodeSchema & { type: BaseNodeType; }, schema: Schema, isRoot?: boolean, isGlobal?: boolean): DataSourceOption; /** 获取引用上文值的前缀 */ export declare const getReferencePrefix: (node: any) => any; /** 判断当前节点类型是否是变量节点类型 */ export declare const judgeIsVariableNode: (nodeType: string | number) => boolean; /** 判断当前节点类型是否是循环体类型 */ export declare const judgeIsLoopBody: (nodeType: string | number) => boolean; /** 获取某个节点类型的节点schema */ export declare const getNodeSchema: (nodeType: string | number, nodeVersion?: NodeVersion) => NodeSchema; /** 获取全局的节点分组 */ export declare const getNodeGroups: () => import("../register/node").NodeGroup[]; /** 判断是否为循环节点 */ export declare const judgeLoopNode: (nodeType: string | number) => boolean; /** * 根据节点Schema生成一个可用的节点 * @param nodeSchema 节点Schema * @param paramsName 自定义参数名称 * @params nodeId 生成的节点id * @params extraConfig 额外的节点配置 */ export declare const generateNewNode: (nodeSchema: NodeSchema, paramsName: MagicFlow.ParamsName, nodeId: string, position: XYPosition, extraConfig?: Record) => MagicFlow.Node; export declare const getLatestNodeVersion: (nodeType: BaseNodeType) => string; export declare const getNodeVersion: (node: MagicFlow.Node) => string; /** 是否注册了开始节点 */ export declare const isRegisteredStartNode: () => boolean; /** 生成开始节点 */ export declare const generateStartNode: (paramsName: MagicFlow.ParamsName) => MagicFlow.Node; /** 根据节点,生成复制后的节点 */ export declare const generatePasteNode: (node: MagicFlow.Node, paramsName: MagicFlow.ParamsName) => { pasteNode: MagicFlow.Node; }; /** * 生成复制后的边 * @param rawNode 原始id到新id的映射表 * @param oldRelationEdges 原始节点相关的边 */ export declare const generatePasteEdges: (oldId2NewIdMap: Record, oldRelationEdges: Edge[]) => Edge[]; /** * 生成循环体和相关的边 * @param loopNode 循环节点 * @param paramsName 自定义参数名称 * @param edges 当前的边 * @param addPosition 在那里新增的循环(画布、边、节点) * @returns */ export declare const generateLoopBody: (loopNode: MagicFlow.Node, paramsName: MagicFlow.ParamsName, edges: Edge[]) => { newEdges: Edge[]; newNodes: MagicFlow.Node[]; }; /** 获取当前已经注册的节点类型 */ export declare const getRegisterNodeTypes: () => BaseNodeType[]; /** 根据新增的边的源点,获取额外的边属性 */ export declare const getExtraEdgeConfigBySourceNode: (sourceNode: MagicFlow.Node) => { zIndex: number; } | { zIndex?: undefined; }; /** 回显时,根据循环体节点meta,设置回显属性 */ export declare const addLoopProperties: (node: MagicFlow.Node, paramsName: MagicFlow.ParamsName) => void; export declare const searchLoopRelationNodesAndEdges: (loopNode: MagicFlow.Node, nodes: MagicFlow.Node[], edges: Edge[]) => { nodeIds: string[]; edgeIds: string[]; }; /** * 十六进制转rgba * @params hex 十六进制 * @params alpha 透明度,如0.05表示5% * 示例使用 const hexColor = "#FF7D00"; const alpha = 0.05; // 5% 透明度 const rgbaColor = hexToRgba(hexColor, alpha); console.log(rgbaColor); // 输出: #FF7D000D */ export declare function hexToRgba(hex: string, alpha?: number): string; export declare const checkIsLoopStart: (node: MagicFlow.Node, paramsName: MagicFlow.ParamsName) => any; /** 检查是否在循环体内 */ export declare const checkIsInGroup: (node: MagicFlow.Node) => any;