import type { RuntimeKind } from '../daemon.js'; export type IsolationStrategy = 'mask-bind' | 'in-process' | 'config-env' | 'private-home' | 'refused'; /** Runners that keep their own session files read this variable (a directory). */ export declare const RUNNER_DATA_DIR_ENV = "MONOMIND_RUNNER_DATA_DIR"; export interface RuntimeIsolation { strategy: IsolationStrategy; /** Files under the real home symlinked into the private directory, when they exist. */ authFiles: string[]; /** `config-env`: the variable that names the private directory, and the real-home directory it replaces. */ configEnv?: string; configDir?: string; /** Extra variables: name to a path relative to the private directory. */ pathEnv?: Record; /** Variables kept pointing into the real home (a private HOME would hide them): name to a path relative to it. */ pins?: Record; /** Where native copies land, relative to the private directory (home or config dir). */ nativeDirs: string[]; probe?: { command: string; expect: string; }; verified: { date: string; cli: string; } | 'unverified'; /** `refused`: why. `unverified` and others: what to know. */ note?: string; } /** The registry: one entry per runtime kind. */ export declare const RUNTIME_ISOLATION: Record; /** The entry of `runtime` on a host with `env`, or undefined for an unknown runtime. */ export declare function runtimeIsolation(runtime: string, env?: NodeJS.ProcessEnv): RuntimeIsolation | undefined; /** Whether the role's process gets a private directory of its own (an in-process runner only when it keeps session files there). */ export declare const usesPrivateDir: (iso: RuntimeIsolation | undefined) => boolean; /** The environment that points a runner process at its private directory `dir`. */ export declare function isolationEnv(iso: RuntimeIsolation | undefined, dir: string, realHome: string): Record; /** * Creates the private directory (0700) and symlinks each existing auth file of the * real home into it. Reads the real home only; an existing entry in the private * directory is replaced only when it is a symlink that points elsewhere. Returns the * links in place. */ export declare function stageAuthFiles(iso: RuntimeIsolation | undefined, dir: string, realHome: string): string[]; //# sourceMappingURL=runtime-isolation.d.ts.map