/**
 * Multi-agent orchestration engine for coderClaw
 */
import { type SpawnSubagentContext } from "../agents/subagent-spawn.js";
export type TaskStatus = "pending" | "running" | "completed" | "failed" | "cancelled";
export type Task = {
    id: string;
    description: string;
    agentRole: string;
    status: TaskStatus;
    input: string;
    output?: string;
    error?: string;
    childSessionKey?: string;
    createdAt: Date;
    startedAt?: Date;
    completedAt?: Date;
    dependencies: string[];
    dependents: string[];
};
export type WorkflowStep = {
    role: string;
    task: string;
    dependsOn?: string[];
};
export type Workflow = {
    id: string;
    steps: WorkflowStep[];
    tasks: Map<string, Task>;
    status: TaskStatus;
};
/**
 * Orchestrator manages multi-agent workflows
 */
export declare class AgentOrchestrator {
    private workflows;
    private taskResults;
    /**
     * Create a new workflow
     */
    createWorkflow(steps: WorkflowStep[]): Workflow;
    /**
     * Execute a workflow
     */
    executeWorkflow(workflowId: string, context: SpawnSubagentContext): Promise<Map<string, string>>;
    /**
     * Execute a single task
     */
    private executeTask;
    /**
     * Get workflow status
     */
    getWorkflowStatus(workflowId: string): Workflow | null;
    /**
     * Cancel a workflow
     */
    cancelWorkflow(workflowId: string): void;
    /**
     * Get all workflows
     */
    getAllWorkflows(): Workflow[];
}
/**
 * Global orchestrator instance
 */
export declare const globalOrchestrator: AgentOrchestrator;
/**
 * Common workflow patterns
 */
/**
 * Feature Development Workflow
 */
export declare function createFeatureWorkflow(featureDescription: string): WorkflowStep[];
/**
 * Bug Fix Workflow
 */
export declare function createBugFixWorkflow(bugDescription: string): WorkflowStep[];
/**
 * Refactoring Workflow
 */
export declare function createRefactorWorkflow(scope: string): WorkflowStep[];
