import type { Dag, DagNode, TaskStatus } from "./dag.js";
export interface Scheduler {
    getRunnableNodes(dag: Dag): DagNode[];
    updateNodeStatus(dag: Dag, id: string, status: TaskStatus, runId?: string): void;
    isComplete(dag: Dag): boolean;
    isFailed(dag: Dag): boolean;
    getNodeStatus(dag: Dag, id: string): TaskStatus | undefined;
}
export declare function createScheduler(): Scheduler;
