import type { CreateSandboxFromImageParams, Resources, Sandbox, VolumeMount } from '@daytona/sdk'; import type { AbortableOptions, CommandResult, ExecuteCommandOptions, ProviderStatus, SandboxInfo } from '../types'; import { BaseSandbox } from './base-sandbox'; import type { ErrorReporter, Logger } from './logger'; export interface DaytonaSandboxOptions { id?: string; apiKey?: string; getAuthToken?: () => Promise; refreshSkewMs?: number; logger?: Logger; apiUrl?: string; target?: string; timeout?: number; createTimeoutSeconds?: number; createRetryBackoffBaseMs?: number; language?: 'typescript' | 'javascript' | 'python'; resources?: Resources; env?: Record; labels?: Record; snapshot?: string; image?: CreateSandboxFromImageParams['image']; ephemeral?: boolean; autoStopInterval?: number; autoArchiveInterval?: number; autoDeleteInterval?: number; volumes?: VolumeMount[]; name?: string; user?: string; public?: boolean; networkBlockAll?: boolean; networkAllowList?: string; errorReporter?: ErrorReporter; createStrategyMode?: 'direct' | 'proxy'; } export declare class DaytonaSandbox extends BaseSandbox { private readonly options; readonly id: string; readonly name = "DaytonaSandbox"; readonly provider = "daytona"; status: ProviderStatus; private readonly timeout; private readonly language; private readonly createdAt; private readonly auth; private readonly sandboxName; private lastClientGeneration; private sandbox?; private workingDirectory?; private recoveryPromise?; constructor(options?: DaytonaSandboxOptions); get instance(): Sandbox; start(): Promise; private createSandboxOrReattach; stop(): Promise; destroy(): Promise; executeCommand(command: string, args?: string[], options?: ExecuteCommandOptions): Promise; withFilesystem(op: (fs: Sandbox['fs']) => Promise, options?: AbortableOptions): Promise; ensureAuthFresh(): Promise; getInfo(): SandboxInfo; getInstructions(): string; private getDaytona; private resetLocalHandle; private isRecoverable; private recoverAndRetry; private recover; private findExistingSandbox; private lookupExistingSandbox; private findExistingSandboxAfterConflict; private createSandbox; private waitBeforeAcquisitionRetry; private operationTimeoutSeconds; private createSandboxParams; private reportCreateError; private detectWorkingDirectory; private compactEnv; }