import type { EdgeProps, Position } from '@vue-flow/core'; import type { CSSProperties } from 'vue'; import type { ArrowOptions } from 'perfect-arrows'; export interface PathFindingEdgeProps extends EdgeProps { id: string; source: string; target: string; sourceX: number; sourceY: number; targetX: number; targetY: number; selected?: boolean; animated?: boolean; sourcePosition: Position; targetPosition: Position; label?: EdgeProps['label']; labelStyle?: any; labelShowBg?: boolean; labelBgStyle?: any; labelBgPadding?: [number, number]; labelBgBorderRadius?: number; style?: CSSProperties; markerEnd: string; markerStart: string; sourceHandleId?: string; targetHandleId?: string; } export interface PerfectArrowProps { id: string; source: string; target: string; sourceX: number; sourceY: number; targetX: number; targetY: number; selected?: boolean; animated?: boolean; sourcePosition: Position; targetPosition: Position; label?: EdgeProps['label']; labelStyle?: any; labelShowBg?: boolean; labelBgStyle?: any; labelBgPadding?: [number, number]; labelBgBorderRadius?: number; style?: CSSProperties; markerEnd: string; markerStart: string; sourceHandleId?: string; targetHandleId?: string; options?: ArrowOptions; }