import type { SandboxExecInput, SandboxExecResponse, SandboxFileDeleteResponse, SandboxFileDownloadInput, SandboxFileDownloadResponse, SandboxFileListInput, SandboxFileListResponse, SandboxFileMkdirInput, SandboxFileMkdirResponse, SandboxFileMoveInput, SandboxFileMoveResponse, SandboxFileSearchInput, SandboxFileSearchResponse, SandboxFileStatResponse, SandboxFileUploadResponse, SandboxOpenPortInput, SandboxOpenPortResponse, SandboxRecord, SandboxReservation, SandboxRuntime, SandboxRuntimeCheckpointInput, SandboxRuntimeEventInput, SandboxRuntimeEventResponse, SandboxRuntimeEventsResponse, SandboxRuntimePromoteInput, SandboxRuntimePromoteResponse, SandboxRuntimeSourcePreserveInput, SandboxRuntimeSourcePreserveResponse, SandboxRuntimeSandboxCreateInput, SandboxRuntimeSandboxResponse, SandboxRuntimeTransitionInput, SandboxState, SandboxAsyncRequestOptions } from "./index.js"; export type SandboxSmokeOptions = { repo?: string; budgetUsd?: string; cpu?: number; memoryGb?: number; diskGb?: number; keep?: boolean; preview?: boolean; snapshot?: boolean; fork?: boolean; expectedMppMode?: NonNullable["mode"]; }; export type SandboxSmokeSummary = { deleted: boolean; execOutput: string; fileRoundtrip: boolean; forkSandboxId: string | null; previewStatus: number | null; receiptRefs: Array; reservationRef: string | null; runId: string; sandboxId: string; snapshotId: string | null; state: SandboxState; }; export type OpenPondSandboxClientOptions = { /** Custom services receive only their explicit credential and reject redirects. */ customEndpoint?: boolean; baseUrl?: string; sandboxApiUrl?: string; apiKey: string; }; export type OpenPondSandboxMcpServerConfig = { name: "openpond-sandboxes"; transport: "streamable-http"; url: string; headers: Record; }; export type OpenPondRuntimeFilesHandle = { write(path: string, contents: string): Promise; read(path: string): Promise; readResponse(input: string | SandboxFileDownloadInput): Promise; list(input?: SandboxFileListInput): Promise; delete(path: string, input?: { recursive?: boolean; }): Promise; search(input: SandboxFileSearchInput): Promise; stat(path: string): Promise; mkdir(input: string | SandboxFileMkdirInput): Promise; move(input: SandboxFileMoveInput): Promise; }; export type OpenPondRuntimeCommandsHandle = { run(command: string | SandboxExecInput): Promise; }; export type OpenPondRuntimePortsHandle = { expose(port: number | SandboxOpenPortInput): Promise; }; export type RuntimeWorkflowCheckpointHintInput = { reason?: string; summary?: string | null; payload?: Record; artifactRefs?: string[]; }; export type RuntimeWorkflowWaitForUserInput = { reason?: string; summary?: string | null; payload?: Record; }; export type RuntimeWorkflowKeepAliveInput = { reason?: string; summary?: string | null; payload?: Record; until?: string | Date; seconds?: number; }; export type OpenPondSandboxRuntimeHandle = { id: string; initial: SandboxRuntime | null; get(): Promise; sandbox(input?: SandboxRuntimeSandboxCreateInput, options?: SandboxAsyncRequestOptions): Promise; resume(input?: SandboxRuntimeSandboxCreateInput, options?: SandboxAsyncRequestOptions): Promise; createSandbox(input?: SandboxRuntimeSandboxCreateInput, options?: SandboxAsyncRequestOptions): Promise; status(input: SandboxRuntimeTransitionInput | SandboxRuntime["status"]): Promise; events(): Promise; event(input: SandboxRuntimeEventInput): Promise; recordCommit(commitSha: string, input?: Omit & { type?: string; }): Promise; checkpointHint(input?: RuntimeWorkflowCheckpointHintInput): Promise; waitForUser(input?: RuntimeWorkflowWaitForUserInput): Promise; keepAlive(input?: RuntimeWorkflowKeepAliveInput): Promise; checkpoint(input: SandboxRuntimeCheckpointInput): Promise; files: OpenPondRuntimeFilesHandle; commands: OpenPondRuntimeCommandsHandle; ports: OpenPondRuntimePortsHandle; promote(input: SandboxRuntimePromoteInput, options?: { teamId?: string; }): Promise; preserveSource(input?: SandboxRuntimeSourcePreserveInput, options?: { teamId?: string; }): Promise; archive(expectedVersion?: number): Promise; };