import type { TaskRecord, TaskStatus } from "./state.js"; type TaskExecution = NonNullable; type TaskAssignment = NonNullable; type TaskRetry = NonNullable; type TaskReview = NonNullable; export interface TaskGraphNode { id: string; description: string; status: TaskStatus; agent: string; category?: TaskRecord["category"]; manager_owned?: boolean; workflow?: TaskAssignment["workflow"]; execution_mode?: TaskExecution["mode"]; branch?: string; worktree_path?: string; effective_root_path?: string; merge_status?: TaskExecution["merge_status"]; verification_status?: TaskExecution["verification_status"]; verification_strategy?: TaskExecution["verification_strategy"]; verification_summary?: TaskExecution["verification_summary"]; diff_summary?: TaskExecution["diff_summary"]; root_follow_through_status?: NonNullable["status"]; root_follow_through_reason?: NonNullable["reason"]; read_count?: number; search_count?: number; planning_count?: number; edit_count?: number; file_changed?: boolean; stale_reason?: string; retry_reason?: TaskRetry["reason"]; retry_state?: TaskRetry["state"]; last_resync_status?: TaskRetry["last_resync_status"]; review_status?: TaskReview["status"]; root_session_id: string; parent_session_id: string; child_session_id: string; depends_on: string[]; blocked_by: string[]; created_at: string; updated_at: string; started_at?: string; completed_at?: string; } export interface TaskGraphEdge { from: string; to: string; type: "dependency"; } export interface TaskGraphSnapshot { generated_at: string; summary: { total: number; queued: number; blocked: number; running: number; succeeded: number; failed: number; cancelled: number; }; nodes: TaskGraphNode[]; edges: TaskGraphEdge[]; } export declare function buildTaskGraph(records: TaskRecord[], options?: { includeCompleted?: boolean; }): TaskGraphSnapshot; export {}; //# sourceMappingURL=task-graph.d.ts.map