/**
 * @license
 * Copyright 2026 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import { type SandboxPermissions } from '../../services/sandboxManager.js';
/**
 * Options for building macOS Seatbelt arguments.
 */
export interface SeatbeltArgsOptions {
    /** The primary workspace path to allow access to. */
    workspace: string;
    /** Additional paths to allow access to. */
    allowedPaths?: string[];
    /** Absolute paths to explicitly deny read/write access to (overrides allowlists). */
    forbiddenPaths?: string[];
    /** Whether to allow network access. */
    networkAccess?: boolean;
    /** Granular additional permissions. */
    additionalPermissions?: SandboxPermissions;
    /** Whether to allow write access to the workspace. */
    workspaceWrite?: boolean;
}
/**
 * Builds the arguments array for sandbox-exec using a strict allowlist profile.
 * It relies on parameters passed to sandbox-exec via the -D flag to avoid
 * string interpolation vulnerabilities, and normalizes paths against symlink escapes.
 *
 * Returns arguments up to the end of sandbox-exec configuration (e.g. ['-p', '<profile>', '-D', ...])
 * Does not include the final '--' separator or the command to run.
 */
export declare function buildSeatbeltArgs(options: SeatbeltArgsOptions): string[];
