import { type RunnerSandboxNetworkPolicy, type RunnerSandboxProfile } from "./config.js";
export interface UpsertRunnerSandboxInput {
    name: string;
    root?: string;
    command_allowlist?: string[];
    command_denylist?: string[];
    cwd_boundary?: string;
    write_scopes?: string[];
    env_allowlist?: string[];
    env_redactions?: string[];
    network_policy?: RunnerSandboxNetworkPolicy;
    require_approval?: boolean;
    audit_evidence?: boolean;
}
export interface RunnerSandboxCheckInput {
    name?: string;
    path?: string;
    cwd?: string;
    command?: string;
    write_paths?: string[];
    env?: Record<string, string | undefined>;
    network?: boolean;
}
export interface RunnerSandboxCheck {
    allowed: boolean;
    requires_approval: boolean;
    reasons: string[];
    profile: RunnerSandboxProfile;
    redacted_env_keys: string[];
    omitted_env_keys: string[];
    effective_env_keys: string[];
    audit_evidence: {
        sandbox: string;
        root: string;
        cwd: string;
        command?: string;
        write_paths: string[];
        network_requested: boolean;
        network_policy: RunnerSandboxNetworkPolicy;
        allowed: boolean;
        reasons: string[];
    } | null;
}
export declare function listRunnerSandboxProfiles(): RunnerSandboxProfile[];
export declare function getRunnerSandboxProfile(name: string, path?: string): RunnerSandboxProfile;
export declare function upsertRunnerSandboxProfile(input: UpsertRunnerSandboxInput): RunnerSandboxProfile;
export declare function removeRunnerSandboxProfile(name: string): boolean;
export declare function checkRunnerSandbox(input?: RunnerSandboxCheckInput): RunnerSandboxCheck;
export declare function explainRunnerSandbox(input?: RunnerSandboxCheckInput): RunnerSandboxCheck;
//# sourceMappingURL=runner-sandbox.d.ts.map