import { spawnSync } from "node:child_process"; export declare const H2A_RUN_PROFILES: readonly ["claude", "codex"]; export type H2aRunProfile = (typeof H2A_RUN_PROFILES)[number]; export declare const H2A_RUN_EFFORTS: readonly ["low", "medium", "high", "xhigh"]; export type H2aRunEffort = (typeof H2A_RUN_EFFORTS)[number]; export declare const H2A_RUN_GATEWAYS: readonly ["auto", "required", "off"]; export type H2aRunGateway = (typeof H2A_RUN_GATEWAYS)[number]; export declare const H2A_RUN_API_VERSION = "h2a.run/v1"; export type H2aRunRequest = { profile: H2aRunProfile; name: string; workspace: string; prompt: string; background: true; gateway: H2aRunGateway; headless: boolean; h2aSidecar: boolean; model?: string; effort?: H2aRunEffort; /** Server-attested launch provenance; never supplied by the MCP caller. */ delegation?: H2aRunDelegation; }; export type H2aRunDelegation = { origin: "mcp:h2a_run"; delegatorInstance: string; delegatorTmuxSession: string; }; export type H2aRunExecutor = (request: H2aRunRequest) => unknown; export declare function validateH2aRunRequest(args: Record | undefined, workspaceRoot: string): H2aRunRequest; export type H2aRunInvocation = { command: string; args: string[]; cwd: string; input: string; }; export declare function buildH2aRunInvocation(request: H2aRunRequest, bin?: string): H2aRunInvocation; export declare function executeH2aRunWithSpawn(request: H2aRunRequest, spawn: typeof spawnSync): unknown; export declare const executeH2aRun: H2aRunExecutor; /** * Server-owned attestation record for an MCP launch. It is written only after * the structured launcher has returned a valid started session; the runtime * CLI has no argument or environment channel through which a direct caller * can assert this origin. */ export declare function recordMcpRunDelegation(root: string, result: Record, delegation: H2aRunDelegation | undefined): void; export declare function handleH2aRun(args: Record | undefined, workspaceRoot: string, execute?: H2aRunExecutor, delegation?: H2aRunDelegation): Record; //# sourceMappingURL=agent-launch.d.ts.map