import type { SandboxNetworkPolicy } from "#shared/sandbox-network-policy.js"; import type { SandboxSession } from "#shared/sandbox-session.js"; type NetworkPolicySandboxSession = SandboxSession & { setNetworkPolicy(policy: SandboxNetworkPolicy): Promise; }; import { MICROSANDBOX_METADATA_VERSION } from "#execution/sandbox/bindings/microsandbox-metadata.js"; import type { ResolvedMicrosandboxOptions } from "#execution/sandbox/bindings/microsandbox-options.js"; import type { MicrosandboxSandboxRuntimeOptions } from "#public/sandbox/microsandbox-sandbox.js"; import { type SandboxProviderSessionContext, type SandboxProviderHandle, type SandboxProviderPrepareContext } from "#shared/sandbox-provider.js"; export type MicrosandboxPreparedArtifact = { readonly image: string | null; readonly optionsHash: string; readonly snapshotName: string; readonly version: typeof MICROSANDBOX_METADATA_VERSION; }; export declare function prewarmMicrosandboxTemplate(input: { readonly providerName: string; readonly options: ResolvedMicrosandboxOptions; readonly optionsHash: string; readonly context: SandboxProviderPrepareContext; readonly dockerfile?: import("#execution/sandbox/dockerfile.js").SandboxDockerfile; readonly prepare?: (sandbox: import("#shared/sandbox-session.js").SandboxSession) => Promise | void; readonly templateKey: string; }): Promise; export declare function createMicrosandboxHandle(input: { readonly artifact: MicrosandboxPreparedArtifact; readonly context: SandboxProviderSessionContext; readonly createIfMissing?: boolean; readonly options: ResolvedMicrosandboxOptions; readonly optionsHash: string; readonly providerName: string; readonly runtimeOptions?: MicrosandboxSandboxRuntimeOptions; readonly sessionIdentity?: string; }): Promise<{ readonly handle: SandboxProviderHandle; readonly state: { readonly optionsHash: string; readonly sessionIdentity: string; readonly version: 3; }; }>; export {};