import { type WorkflowManifest } from "./wire/manifest.js"; export interface SandboxToolDeps { /** Absolute sandbox root — every filesystem/shell/git op is confined here. */ root: string; /** Non-secret env vars (resolved `manifest.env` literals) exposed to shell/git subprocesses. */ env?: Record; /** Env var name → granted secret name (`manifest.env`'s secret refs), resolved per-run. */ secretEnv?: Record; committerName?: string; committerEmail?: string; /** Manifest `tools[name=shell].config.extra_commands` allowlist additions. */ extraShellCommands?: readonly string[]; } /** The manifest-derived subset of {@link SandboxToolDeps} (the worker adds `root`). */ export type SandboxConfig = Omit; /** * Split `manifest.env` into non-secret literals vs. `${{ secrets.X }}` references. Returns only the * keys that have content, so the caller can spread it into the sandbox deps without injecting * empty objects. */ export declare function sandboxConfigFromManifest(manifest: WorkflowManifest): SandboxConfig;