import type { CanonicalState, WorkItem, Plan, Milestone, Project } from "../types/index.js"; /** Graph node types */ export type GraphNodeType = "workItem" | "plan" | "milestone" | "project" | "execution"; /** Graph edge — relationship between nodes */ export type GraphEdge = { from: string; to: string; type: string; metadata?: Record; }; /** Graph node wrapper */ export type GraphNode = { id: string; type: GraphNodeType; entity: WorkItem | Plan | Milestone | Project | unknown; }; /** Project graph representation */ export type ProjectGraph = { nodes: Map; edges: GraphEdge[]; }; /** Build a project graph from canonical state */ export declare function buildGraph(state: CanonicalState): ProjectGraph; /** Find all reachable nodes from a starting node via BFS */ export declare function findReachable(graph: ProjectGraph, startId: string): Set; /** Check if all objects in state are reachable from their project */ export declare function validateGraphConnectivity(state: CanonicalState): string[]; /** Detect cycles in the dependency graph */ export declare function detectCycles(graph: ProjectGraph): string[][]; /** Check if graph contains any cycles */ export declare function isGraphAcyclic(state: CanonicalState): boolean;