import type { PermissionMode } from "../../permissions/index.js"; import { type ProjectConfigPlaceholder } from "./prepareProjectConfigPlaceholder.js"; export declare function createLinuxBubblewrapCommand(options: { /** * Run this exact argument vector instead of a shell command. Background readers use it so they * never build a shell string and never source the user's login profile. */ argv?: readonly string[]; additionalWritablePaths?: readonly string[]; /** * Writable even when it sits inside a protected path, for a caller whose own folder is nested * under something it must not otherwise touch. Bound after the protections, so it re-opens * exactly these paths and nothing around them. */ alwaysWritablePaths?: readonly string[]; bwrapPath?: string; command: string; commandCwd: string; cwd: string; environment?: NodeJS.ProcessEnv; filesystemFullAccess?: boolean; mode: Exclude; mountProc?: boolean; networkFullAccess?: boolean; networkUnixProxySockets?: { authenticationToken: string; http: string; loopback?: readonly { path: string; port: number; }[]; socks: string; }; path?: string; protectProjectMetadata?: boolean; protectedPaths?: readonly string[]; shell: string; temporaryDirectory?: string; uid?: number; unixSocketPaths?: readonly string[]; }): Promise<{ args: readonly string[]; command: string; projectConfigPlaceholder?: ProjectConfigPlaceholder; protectedCreatePaths?: readonly string[]; }>;