/**
 * Handler logic for the START_CODING_TASK action.
 *
 * handleMultiAgent() handles both multi-agent and single-agent modes.
 * A single-agent call is just a length-1 agent spec.
 *
 * @module actions/coding-task-handlers
 */
import { type ActionResult, type HandlerCallback, type IAgentRuntime, type Memory, type State } from "@elizaos/core";
import type { AgentCredentials } from "coding-agent-adapters";
import type { AgentSelectionStrategy } from "../services/agent-selection.ts";
import type { PTYService } from "../services/pty-service.ts";
import { type CodingAgentType } from "../services/pty-types.ts";
import type { CodingWorkspaceService } from "../services/workspace-service.ts";
/** Shared context passed to both multi-agent and single-agent handlers */
export interface CodingTaskContext {
    runtime: IAgentRuntime;
    ptyService: PTYService;
    wsService: CodingWorkspaceService | undefined;
    credentials: AgentCredentials;
    customCredentials: Record<string, string> | undefined;
    callback: HandlerCallback | undefined;
    message: Memory;
    state: State | undefined;
    repo: string | undefined;
    defaultAgentType: CodingAgentType;
    rawAgentType: string;
    agentTypeExplicit: boolean;
    agentSelectionStrategy: AgentSelectionStrategy;
    memoryContent: string | undefined;
    approvalPreset: string | undefined;
    explicitLabel: string | undefined;
}
/**
 * Multi-agent mode handler.
 *
 * Parses pipe-delimited agent specs and spawns each agent in its own
 * workspace clone (or scratch directory).
 */
export declare function handleMultiAgent(ctx: CodingTaskContext, agentsParam: string): Promise<ActionResult | undefined>;
//# sourceMappingURL=coding-task-handlers.d.ts.map