export interface BranchVO {
  id: string | number
  label: string
  to?: Array<number | string>
}

export interface IPosition {
  x: number
  y: number
}

export interface NodeVO {
  id: string | number
  position: IPosition
  canDrag?: boolean
  title?: string
  content?: string
  width?: number
  branches: Array<BranchVO>
  [prop: string]: any
}

export interface LineVO {
  fromNodeId: string | number
  fromBranchId: string | number
  toNodeId: string | number
}

export interface TempConnection {
  active: boolean
  fromNodeId: null | string | number
  fromBranchId: null | string | number
  startX: number
  startY: number
  endX: number
  endY: number
  toNodeId: null | string | number
}
