import type { SandboxBackend } from "#public/definitions/sandbox-backend.js";
import type { LocalSandboxCreateOptions } from "#public/sandbox/local-sandbox.js";
import type { VercelSandboxCreateOptions } from "#public/sandbox/vercel-sandbox.js";
/**
 * Input to {@link defaultBackend}: a separate options bag per inner
 * backend. The framework picks one bag at runtime based on `process.env.VERCEL`
 * and passes it to the chosen factory; the other is ignored.
 */
export interface DefaultBackendOptions {
    readonly local?: LocalSandboxCreateOptions;
    readonly vercel?: VercelSandboxCreateOptions;
}
/**
 * Constructs an env-aware sandbox backend that delegates to
 * {@link vercelBackend} on hosted Vercel (where `process.env.VERCEL`
 * is truthy) and to {@link localBackend} everywhere else.
 *
 * Optionally accepts a keyed options bag (`{ local, vercel }`) so each
 * inner backend receives its own typed create options without forcing
 * authors to pin to one backend up front.
 */
export declare function defaultBackend(opts?: DefaultBackendOptions): SandboxBackend;
