/**
 * Sandbox Runner - srt-based sandbox on host
 *
 * Runs commands in an srt sandbox for filesystem and network isolation.
 * Falls back to host runner if srt is not installed.
 */
import { DisplayMode, ExecutorType, ExecutionContext, ExecutionConfig } from './shared.js';
import { RunnerResult } from './shared.js';
/**
 * Check if srt (sandbox-runtime) is installed on the host.
 */
export declare function isSrtInstalled(): boolean;
/**
 * Build the srt command with filesystem and network restrictions.
 *
 * Filesystem policy (read-restriction philosophy from claude-code-sandbox):
 * - Read/write: agent worktree directory
 * - Read-only: repo source (if different from worktree)
 * - Read-only: additional configured read paths
 * - Deny: home directory, system paths, other repos
 *
 * Network policy:
 * - Allow: configured domains (GitHub, Anthropic API, npm registries, etc.)
 * - Deny: everything else
 */
export declare function buildSrtCommand(innerCommand: string, context: ExecutionContext, config: ExecutionConfig): string;
/**
 * Run command in an srt sandbox on the host machine.
 * Uses the same tmux session approach as the host runner, but wraps the
 * executor command with srt for filesystem and network isolation.
 *
 * Falls back to host runner with warning if srt is not installed.
 */
export declare function runSandbox(context: ExecutionContext, executor: ExecutorType, config: ExecutionConfig, displayMode?: DisplayMode): Promise<RunnerResult>;
