import { type ChildProcess } from "node:child_process"; import type { RuntimeHookPayload, RuntimeInstanceRecord } from "../../runtime-instance-store.js"; import type { RuntimeSourceClient } from "../../runtime-instance-store.js"; import type { CodexBinInfo } from "./autopilot-slice-utils.js"; type CreateAutopilotRuntimeDeps = { filename: string; autoContinueSliceChildren: Map; resolveByokEnvOverrides: () => Record; safeErrorMessage: (err: unknown) => string; resolveCodexBinInfo: () => CodexBinInfo; upsertRuntimeInstanceFromHook: (payload: RuntimeHookPayload) => RuntimeInstanceRecord; broadcastRuntimeSse: (event: string, payload: RuntimeInstanceRecord) => void; clearSnapshotResponseCache: () => void; }; export declare function createAutopilotRuntime(deps: CreateAutopilotRuntimeDeps): { spawnCodexSliceWorker: (input: { runId: string; prompt: string; cwd: string; logPath: string; outputPath: string; outputSchemaPath?: string; env: Record; resumeSessionId?: string | null; }) => { pid: number | null; }; writeRuntimeEvent: (input: { sourceClient: RuntimeSourceClient; event: RuntimeHookPayload["event"]; runId: string; initiativeId: string; workstreamId: string | null; taskId: string | null; agentId: string | null; agentName: string | null; phase: string | null; message?: string | null; progressPct?: number | null; metadata?: Record | null; timestamp?: string | null; }) => RuntimeInstanceRecord; }; export {};