import { Graph, Node } from './graph';
export declare enum TaskState {
    Pending = 0,
    Running = 1,
    Done = 2,
    Failed = 3
}
export interface Task {
    node: Node;
    state: TaskState;
}
export declare class Tasks {
    private readonly tasks;
    private readonly promises;
    constructor(graph: Graph);
    wait(): Promise<void>;
    run(run: () => Promise<void>): void;
    done(): boolean;
    state(task?: Task): TaskState;
    get(node: Node): Task;
    ready(task: Task): boolean;
    queue(graph: Graph): Task[];
}
//# sourceMappingURL=task.d.ts.map