import type { SandboxBackendHandle } from "#public/definitions/sandbox-backend.js"; import type { SandboxProcess, SandboxRemovePathOptions, SandboxSpawnOptions } from "#shared/sandbox-session.js"; export interface BashSandbox { captureState(): Promise | null>; dispose(): Promise; readFileBytes(path: string): Promise; removePath(options: SandboxRemovePathOptions): Promise; readonly rootPath: string; readonly sessionKey: string; spawn(options: SandboxSpawnOptions): Promise; writeFiles(files: ReadonlyArray<{ path: string; content: string | Uint8Array; }>): Promise; } export declare function createBashSandbox(input: { readonly appRoot: string; readonly autoInstall: boolean; readonly rootPath: string; readonly sessionKey: string; }): Promise; /** * The just-bash engine cannot honor a run-time network policy: just-bash takes * its `NetworkConfig` only at sandbox creation (no live update) and runs no * `git` or other binaries, so credential brokering has nothing to act on. * Throw rather than silently no-op so brokering code surfaces the gap instead * of leaking. */ export declare function justBashSetNetworkPolicyUnsupported(): Promise; export declare function createJustBashHandle(sandbox: BashSandbox, backendName: string): SandboxBackendHandle;