import { type DefaultSandboxProbes } from "#sandbox/backends/default.js";
import { type SandboxBackend, type SandboxDefinition } from "#public/sandbox/index.js";
import { type SelfModificationConfig } from "./config.js";
export interface SelfModificationSandboxOptions {
    /**
     * Production backend. Deployed self-modification owns an allow-all network
     * policy and temporarily adds a credential transform while checking out its
     * source. When omitted, eve selects Vercel Sandbox on Vercel or microsandbox
     * on a supported self-hosted system.
     */
    readonly backend?: SandboxBackend;
    /** Policy shared with the agent and extension mount. */
    readonly config?: SelfModificationConfig;
}
type SelfModificationSandboxProbes = Pick<DefaultSandboxProbes, "isDeployedOnVercel" | "isMicrosandboxSupported">;
/** Defines the local source mount or isolated production proposal workspace. */
export declare function defineSelfModificationSandbox(options?: SelfModificationSandboxOptions): SandboxDefinition;
/**
 * Deployed self-modification deliberately selects a backend that can inject
 * GitHub auth at the network boundary, keeping the credential outside the
 * sandbox and agent. Docker and just-bash do not provide that separation.
 * Internal—exported for tests, which inject availability probes.
 */
export declare function selectDeployedSelfModificationBackend(configured: SandboxBackend | undefined, probes: SelfModificationSandboxProbes): SandboxBackend;
declare const _default: SandboxDefinition;
export default _default;
