/**
 * ExecutionPlanner — DAG 실행 계획 생성기
 *
 * 위상 정렬, 레벨 그룹핑, 워커 밸런싱, 임계 경로 분석을 수행하여
 * 병렬 에이전트 오케스트레이션을 위한 최적 실행 계획을 생성합니다.
 */
import type { DagNode } from "../orchestration/dag.js";
import type { ProviderPolicy, CapabilityManifest } from "../runtime/agent-runtime.js";
export interface NodeExecutionMeta {
    providerPolicy?: ProviderPolicy;
    capabilities?: CapabilityManifest;
}
export interface ExecutionPlan {
    batches: DagNode[][];
    nodeMeta: Map<string, NodeExecutionMeta>;
    totalWorkers: number;
    estimatedDuration: number;
    criticalPath: DagNode[];
    maxParallelism: number;
}
export interface ExecutionPlannerOptions {
    maxWorkers: number;
    dag: DagNode[];
}
/**
 * DAG 실행 계획 생성
 */
export declare function createExecutionPlan(options: ExecutionPlannerOptions): ExecutionPlan;
/**
 * 실행 계획 요약 출력
 */
export declare function formatExecutionPlan(plan: ExecutionPlan): string;
/**
 * 배치 실행 가능 여부 확인
 */
export declare function isBatchReady(batch: DagNode[], completed: Set<string>): boolean;
/**
 * 다음 실행 가능한 배치 찾기
 */
export declare function getNextExecutableBatch(plan: ExecutionPlan, completed: Set<string>, terminal?: Set<string>): DagNode[] | null;
