import type { SandboxBackend } from "#public/definitions/sandbox-backend.js"; import type { VercelSandboxBootstrapUseOptions, VercelSandboxCreateOptions, VercelSandboxSessionUseOptions } from "#public/sandbox/vercel-sandbox.js"; /** * Constructs the [Vercel Sandbox](https://vercel.com/docs/sandbox) * backend. Configuring this backend pins it unconditionally — * including for local development, where it creates real hosted * sandboxes (requires Vercel credentials). * * The optional `opts` parameter is forwarded to Vercel Sandbox creation * 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. `networkPolicy` is applied after * framework-owned base setup for fresh templates and template-less * sessions, before authored bootstrap code runs. * * `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 vercel(opts?: VercelSandboxCreateOptions): SandboxBackend;