import type { Settings } from "@opengeni/config"; export type { ApiSandboxSession, ApiSandboxClient, ResumeBoxByIdInput, ResumedSandboxSession, } from "@opengeni/core"; import type { ApiSandboxClient, ResumeBoxByIdInput, ResumedSandboxSession } from "@opengeni/core"; export declare class SandboxResumeError extends Error { readonly cause?: unknown; constructor(message: string, cause?: unknown); } /** * Construct the API process's own sandbox client from settings, agent-loop-free. * Returns undefined when `sandboxBackend=none` (no box to touch). The Modal * token + app name are read from settings (already parsed by getSettings and * present in the API runtime env), so the client can resume Modal boxes by id. */ export declare function createApiSandboxClient(settings: Settings): ApiSandboxClient | undefined; /** * Build the `resumeBoxById` helper bound to the API's sandbox client. Given a * backend + a serialized resume_state envelope, it resumes the box and returns * a live session for one in-process op. The caller drives exec/readFile and then * drops the handle (resume → use → drop); it does NOT own the box. */ export declare function makeResumeBoxById(client: ApiSandboxClient | undefined): (input: ResumeBoxByIdInput) => Promise;