import { ProjectGraph } from '../config/project-graph'; import { TaskGraph } from '../config/task-graph'; /** * This function finds a cycle in the graph. * @returns the first cycle found, or null if no cycle is found. */ export declare function findCycle(graph: { dependencies: Record; continuousDependencies?: Record; }): string[] | null; /** * This function finds all cycles in the graph. * @returns a list of unique task ids in all cycles found, or null if no cycle is found. */ export declare function findCycles(graph: { dependencies: Record; continuousDependencies?: Record; }): Set | null; export declare function makeAcyclic(graph: { roots: string[]; dependencies: Record; }): void; export declare function validateNoAtomizedTasks(taskGraph: TaskGraph, projectGraph: ProjectGraph): void; export declare function assertTaskGraphDoesNotContainInvalidTargets(taskGraph: TaskGraph): void; export declare function getLeafTasks(taskGraph: TaskGraph): Set; /** * Walk a task graph topologically, calling walkFn for each wave of roots. * Considers both dependencies and continuousDependencies. */ export declare function walkTaskGraph(taskGraph: TaskGraph, walkFn: (rootTaskIds: string[]) => Promise): Promise;