import { type ChildProcess, type StdioOptions } from 'node:child_process'; export declare const PINNED_RUNTIME_PATH: string; export declare const PINNED_ENV_KEYS: readonly ["CLAUDE_CONFIG_DIR", "CORTEX_HOME", "CORTEX_PROJECTS_DIR", "HOME", "TEMP", "TMP", "TMPDIR", "XDG_CACHE_HOME", "XDG_CONFIG_HOME"]; export interface PinnedTrialPaths { root: string; home: string; cortexHome: string; projectsDir: string; xdgConfigHome: string; xdgCacheHome: string; claudeConfigDir: string; tempDir: string; logsDir: string; } export interface PinnedNodeLaunchOptions { trialRoot: string; workspaceCwd: string; entry: string; args?: string[]; nodeArgs?: string[]; parentEnv?: NodeJS.ProcessEnv; passthroughEnv?: string[]; stdio?: StdioOptions; } export interface PinnedNodeLaunchSpec { command: string; args: string[]; cwd: string; env: NodeJS.ProcessEnv; stdio: StdioOptions; paths: PinnedTrialPaths; } /** Exact child environment for a trial process: the allowlisted runtime keys plus the pinned * trial paths, with nothing else inherited from the host. Callers add only the keys the * backend genuinely needs on top. */ export declare function pinnedTrialEnvironment(paths: PinnedTrialPaths, parentEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv; export declare function preparePinnedTrialPaths(trialRoot: string): PinnedTrialPaths; export declare function preparePinnedNodeLaunch(options: PinnedNodeLaunchOptions): PinnedNodeLaunchSpec; export declare function spawnPinnedNode(options: PinnedNodeLaunchOptions): ChildProcess;