/**
 * DAGScheduler — HiveLearn local copy
 * Executes a TaskGraph in parallel. No core dependencies except logger.
 */
import { TaskGraph } from './TaskGraph';
import { TaskNode } from './TaskNode';
import type { DAGResult } from './TaskResult';
import type { ExecutionStrategy } from './strategies/ParallelStrategy';
export interface IAgentExecutor {
    execute(node: TaskNode, depResults: Record<string, string>, threadId: string): Promise<string>;
}
export interface DAGSchedulerOptions {
    strategy?: ExecutionStrategy;
    maxConcurrentWorkers?: number;
    projectId?: string;
    coordinatorId?: string;
    silent?: boolean;
    executor?: IAgentExecutor;
}
export declare class DAGScheduler {
    private strategy;
    private maxConcurrentWorkers;
    private executor;
    private aborted;
    constructor(options?: DAGSchedulerOptions);
    abort(): void;
    execute(graph: TaskGraph, options?: DAGSchedulerOptions): Promise<DAGResult>;
    private logState;
}
