import type { AdapterKey, InputEnvelope, OutputEnvelope, StepDefinition, StepExecutionHooks, WorkflowDefinition } from "./types.js";
interface ResolvedAcpCommand {
    command: string;
    args: string[];
}
export declare function normalizeTimeout(value: unknown, fallbackMs?: number): number;
/**
 * Resolves which ACP agent command to launch for a step. Precedence:
 * payload.acpCommand → WFM_ACP_COMMAND env → preset for payload.acpAgent → preset
 * for the adapter key (claude-code / opencode / codex). Returns null when nothing
 * resolves (e.g. bare `acp` without configuration), which keeps the step on mock.
 */
export declare function resolveAcpCommand(step: StepDefinition, env: NodeJS.ProcessEnv): ResolvedAcpCommand | null;
export declare function isRealByDefaultAcpAdapter(adapter: AdapterKey): boolean;
export declare function shouldUseRealAcp(step: StepDefinition): boolean;
export declare function executeAcpStep(step: StepDefinition, input: InputEnvelope, attempt: number, workflow?: WorkflowDefinition, workflowFilePath?: string, hooks?: StepExecutionHooks): Promise<OutputEnvelope>;
export {};
