/**
 * DAGScheduler — TaskGraph (HiveLearn local copy)
 */
import { TaskNode, type TaskNodeConfig } from "./TaskNode";
export declare class TaskGraph {
    readonly nodes: Map<string, TaskNode>;
    private criticalPath_;
    constructor(configs: TaskNodeConfig[]);
    private validateNoCycles;
    getCriticalPath(): string[];
    getNewlyReadyNodes(completedIds: Set<string>): TaskNode[];
    getReadyNodes(): TaskNode[];
    getCompletedIds(): Set<string>;
    getDepResults(nodeId: string): Record<string, string>;
    getProgress(): number;
    isComplete(): boolean;
    propagateFailure(failedId: string, reason: string): void;
}
