import type { SandboxBackend } from "#public/definitions/sandbox-backend.js";
import type { VercelSandboxBootstrapUseOptions, VercelSandboxCreateOptions, VercelSandboxSessionUseOptions } from "#public/sandbox/vercel-sandbox.js";
/**
 * Constructs the built-in Vercel sandbox backend.
 *
 * The optional `opts` parameter is forwarded to the Vercel SDK's
 * `Sandbox.create(...)` for every fresh sandbox the framework creates
 * (template at prewarm, session at first-time create). On resume
 * (`Sandbox.get`), no create happens, so opts are not re-applied.
 *
 * `opts.source`, if supplied, is used only on the template create:
 * the author's snapshot, git revision, or tarball becomes the base
 * layer of the template. Bootstrap, seed files, and framework setup
 * still run on top, and every session derives from the resulting
 * Eve-owned snapshot. `source` is stripped from session creates so the
 * framework's snapshot always wins.
 *
 * `bootstrap({ use })` applies its options to the template via
 * `sandbox.update(...)`; those settings persist into the snapshot.
 * `onSession({ use })` applies its options to the live session via the
 * SDK's `update` under the hood, overriding any overlapping field
 * from `opts`.
 */
export declare function vercelBackend(opts?: VercelSandboxCreateOptions): SandboxBackend<VercelSandboxBootstrapUseOptions, VercelSandboxSessionUseOptions>;
