/**
 * Graph 页面共享类型定义
 */

export interface GraphNode {
  id: string;
  label: string;
  data: Record<string, unknown>;
}

export interface GraphEdge {
  source: string;
  target: string;
  label: string;
}

export interface GraphConfig {
  entity: string;
  relationshipEntity: string;
  sourceField: string;
  targetField: string;
  edgeLabelField: string;
  nodeLabelField: string;
}

export interface NodePosition {
  x: number;
  y: number;
  vx: number;
  vy: number;
}

export interface HoverState {
  nodeId: string | null;
  x: number;
  y: number;
}
