/**
 * Represents a node in the knowledge graph
 */
export interface GraphNode {
  id: string;
  slug: string;
  title: string;
  summary: string | null;
  tags: {
    id: string;
    name: string;
    slug: string;
    color: string | null;
  }[];
  depth: number;
}

/**
 * Represents an edge/link in the knowledge graph
 */
export interface GraphEdge {
  id: string;
  sourceId: string;
  targetId: string;
  linkText: string;
}

/**
 * Entry-centered graph response
 */
export interface EntryGraphResponse {
  centerNode: GraphNode;
  nodes: GraphNode[];
  edges: GraphEdge[];
  stats: {
    totalNodes: number;
    totalEdges: number;
    maxDepth: number;
  };
}
