import { Position } from '@vue-flow/core' import type { OnConnectStartParams, Node, DefaultEdge } from '@vue-flow/core' export * from '@vue-flow/core' export type CanvasConnectionPort = { node?: string type: string index: number required?: boolean maxConnections?: number label?: string [key: string]: any } export interface CanvasElementPortWithRenderData extends CanvasConnectionPort { handleId: string connectionsCount: number isConnecting: boolean position: Position offset?: { top?: string; left?: string } } export interface IWorkflowNode extends Node { data: { inputs: CanvasConnectionPort[] outputs: CanvasConnectionPort[] renderType?: 'default' | 'stickyNote' | 'custom' // 定义节点数据 [key: string]: any } } export type IWorkflowEdge = DefaultEdge<{ // 定义边数据 [key: string]: any }> export interface IWorkflow { id: string nodes: IWorkflowNode[] edges: IWorkflowEdge[] [key: string]: any } export interface XYPosition { x: number y: number } export type ConnectStartEvent = { event?: MouseEvent | undefined } & OnConnectStartParams export { Position }