import { z } from 'zod';
import type { SandboxPauseResult } from './pause.ts';
/**
 * Resource limits for a sandbox using Kubernetes-style units
 */
export declare const SandboxResourcesSchema: z.ZodObject<{
    memory: z.ZodOptional<z.ZodString>;
    cpu: z.ZodOptional<z.ZodString>;
    disk: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SandboxResources = z.infer<typeof SandboxResourcesSchema>;
/** Sandbox status */
export declare const SandboxStatusSchema: z.ZodEnum<{
    failed: "failed";
    deleted: "deleted";
    running: "running";
    paused: "paused";
    idle: "idle";
    creating: "creating";
    stopping: "stopping";
    suspended: "suspended";
    terminated: "terminated";
}>;
export type SandboxStatus = z.infer<typeof SandboxStatusSchema>;
export declare const SandboxSortFieldSchema: z.ZodEnum<{
    name: "name";
    created: "created";
    status: "status";
    updated: "updated";
    mode: "mode";
    execution_count: "execution_count";
}>;
export type SandboxSortField = z.infer<typeof SandboxSortFieldSchema>;
export declare const SnapshotSortFieldSchema: z.ZodEnum<{
    name: "name";
    created: "created";
    size: "size";
    files: "files";
}>;
export type SnapshotSortField = z.infer<typeof SnapshotSortFieldSchema>;
export declare const RuntimeSortFieldSchema: z.ZodEnum<{
    name: "name";
    created: "created";
}>;
export type RuntimeSortField = z.infer<typeof RuntimeSortFieldSchema>;
/** Runtime information for a sandbox */
export declare const SandboxRuntimeRequirementsSchema: z.ZodObject<{
    memory: z.ZodOptional<z.ZodString>;
    cpu: z.ZodOptional<z.ZodString>;
    disk: z.ZodOptional<z.ZodString>;
    networkEnabled: z.ZodBoolean;
}, z.core.$strip>;
export type SandboxRuntimeRequirements = z.infer<typeof SandboxRuntimeRequirementsSchema>;
export declare const SandboxRuntimeSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    iconUrl: z.ZodOptional<z.ZodString>;
    brandColor: z.ZodOptional<z.ZodString>;
    url: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    requirements: z.ZodOptional<z.ZodObject<{
        memory: z.ZodOptional<z.ZodString>;
        cpu: z.ZodOptional<z.ZodString>;
        disk: z.ZodOptional<z.ZodString>;
        networkEnabled: z.ZodBoolean;
    }, z.core.$strip>>;
    readme: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SandboxRuntime = z.infer<typeof SandboxRuntimeSchema>;
/** Runtime information included in sandbox responses */
export declare const SandboxRuntimeInfoSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    iconUrl: z.ZodOptional<z.ZodString>;
    brandColor: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export type SandboxRuntimeInfo = z.infer<typeof SandboxRuntimeInfoSchema>;
/** Snapshot user information (for private snapshots) */
export declare const SandboxSnapshotUserInfoSchema: z.ZodObject<{
    id: z.ZodString;
    firstName: z.ZodOptional<z.ZodString>;
    lastName: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SandboxSnapshotUserInfo = z.infer<typeof SandboxSnapshotUserInfoSchema>;
/** Snapshot org information (for public snapshots) */
export declare const SandboxSnapshotOrgInfoSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    slug: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SandboxSnapshotOrgInfo = z.infer<typeof SandboxSnapshotOrgInfoSchema>;
/** Public snapshot information - includes org info */
export declare const SandboxSnapshotInfoPublicSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    tag: z.ZodOptional<z.ZodString>;
    fullName: z.ZodOptional<z.ZodString>;
    public: z.ZodLiteral<true>;
    org: z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        slug: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type SandboxSnapshotInfoPublic = z.infer<typeof SandboxSnapshotInfoPublicSchema>;
/** Private snapshot information - includes user info */
export declare const SandboxSnapshotInfoPrivateSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    tag: z.ZodOptional<z.ZodString>;
    fullName: z.ZodOptional<z.ZodString>;
    public: z.ZodLiteral<false>;
    user: z.ZodObject<{
        id: z.ZodString;
        firstName: z.ZodOptional<z.ZodString>;
        lastName: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type SandboxSnapshotInfoPrivate = z.infer<typeof SandboxSnapshotInfoPrivateSchema>;
/** Snapshot information included in sandbox responses (discriminated union) */
export declare const SandboxSnapshotInfoSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    id: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    tag: z.ZodOptional<z.ZodString>;
    fullName: z.ZodOptional<z.ZodString>;
    public: z.ZodLiteral<true>;
    org: z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        slug: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
    id: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    tag: z.ZodOptional<z.ZodString>;
    fullName: z.ZodOptional<z.ZodString>;
    public: z.ZodLiteral<false>;
    user: z.ZodObject<{
        id: z.ZodString;
        firstName: z.ZodOptional<z.ZodString>;
        lastName: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>], "public">;
export type SandboxSnapshotInfo = z.infer<typeof SandboxSnapshotInfoSchema>;
/** Execution status */
export declare const ExecutionStatusSchema: z.ZodEnum<{
    failed: "failed";
    completed: "completed";
    cancelled: "cancelled";
    running: "running";
    timeout: "timeout";
    queued: "queued";
}>;
export type ExecutionStatus = z.infer<typeof ExecutionStatusSchema>;
export declare const JobStatusSchema: z.ZodEnum<{
    pending: "pending";
    failed: "failed";
    completed: "completed";
    cancelled: "cancelled";
    running: "running";
}>;
export type JobStatus = z.infer<typeof JobStatusSchema>;
export declare const JobSchema: z.ZodObject<{
    jobId: z.ZodString;
    sandboxId: z.ZodString;
    command: z.ZodArray<z.ZodString>;
    status: z.ZodEnum<{
        pending: "pending";
        failed: "failed";
        completed: "completed";
        cancelled: "cancelled";
        running: "running";
    }>;
    exitCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    startedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    completedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    stdoutStreamUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    stderrStreamUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export type Job = z.infer<typeof JobSchema>;
export declare const CreateJobOptionsSchema: z.ZodObject<{
    command: z.ZodArray<z.ZodString>;
    streams: z.ZodOptional<z.ZodObject<{
        stdout: z.ZodOptional<z.ZodString>;
        stderr: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type CreateJobOptions = z.infer<typeof CreateJobOptionsSchema>;
/** Read-only stream interface for consuming streams without write access */
export declare const StreamReaderSchema: z.ZodObject<{
    id: z.ZodString;
    url: z.ZodString;
    readonly: z.ZodLiteral<true>;
    getReader: z.ZodCustom<() => ReadableStream<Uint8Array>, () => ReadableStream<Uint8Array>>;
}, z.core.$strip>;
export type StreamReader = z.infer<typeof StreamReaderSchema>;
/** Stream configuration for sandbox output */
export declare const SandboxStreamConfigSchema: z.ZodObject<{
    stdout: z.ZodOptional<z.ZodString>;
    stderr: z.ZodOptional<z.ZodString>;
    stdin: z.ZodOptional<z.ZodString>;
    timestamps: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type SandboxStreamConfig = z.infer<typeof SandboxStreamConfigSchema>;
/** Represents a file to write to the sandbox */
export declare const FileToWriteSchema: z.ZodObject<{
    path: z.ZodString;
    content: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
}, z.core.$strip>;
export type FileToWrite = z.infer<typeof FileToWriteSchema>;
/** Command to execute in a sandbox */
export declare const SandboxCommandSchema: z.ZodObject<{
    exec: z.ZodArray<z.ZodString>;
    files: z.ZodOptional<z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        content: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
    }, z.core.$strip>>>;
    mode: z.ZodOptional<z.ZodEnum<{
        oneshot: "oneshot";
        interactive: "interactive";
    }>>;
}, z.core.$strip>;
export type SandboxCommand = z.infer<typeof SandboxCommandSchema>;
/** Network configuration for sandbox */
export declare const SandboxNetworkConfigSchema: z.ZodObject<{
    enabled: z.ZodOptional<z.ZodBoolean>;
    port: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type SandboxNetworkConfig = z.infer<typeof SandboxNetworkConfigSchema>;
/** Timeout configuration for sandbox */
export declare const SandboxTimeoutConfigSchema: z.ZodObject<{
    idle: z.ZodOptional<z.ZodString>;
    execution: z.ZodOptional<z.ZodString>;
    paused: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SandboxTimeoutConfig = z.infer<typeof SandboxTimeoutConfigSchema>;
/** Options for creating a sandbox. */
export declare const SandboxCreateOptionsSchema: z.ZodObject<{
    projectId: z.ZodOptional<z.ZodString>;
    runtime: z.ZodOptional<z.ZodString>;
    runtimeId: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    resources: z.ZodOptional<z.ZodObject<{
        memory: z.ZodOptional<z.ZodString>;
        cpu: z.ZodOptional<z.ZodString>;
        disk: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    network: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        port: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    stream: z.ZodOptional<z.ZodObject<{
        stdout: z.ZodOptional<z.ZodString>;
        stderr: z.ZodOptional<z.ZodString>;
        stdin: z.ZodOptional<z.ZodString>;
        timestamps: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    timeout: z.ZodOptional<z.ZodObject<{
        idle: z.ZodOptional<z.ZodString>;
        execution: z.ZodOptional<z.ZodString>;
        paused: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    command: z.ZodOptional<z.ZodObject<{
        exec: z.ZodArray<z.ZodString>;
        files: z.ZodOptional<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            content: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
        }, z.core.$strip>>>;
        mode: z.ZodOptional<z.ZodEnum<{
            oneshot: "oneshot";
            interactive: "interactive";
        }>>;
    }, z.core.$strip>>;
    files: z.ZodOptional<z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        content: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
    }, z.core.$strip>>>;
    snapshot: z.ZodOptional<z.ZodString>;
    dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
    packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export type SandboxCreateOptions = z.infer<typeof SandboxCreateOptionsSchema>;
/** A sandbox instance with methods for interaction */
export declare const SandboxSchema: z.ZodObject<{
    id: z.ZodString;
    status: z.ZodEnum<{
        failed: "failed";
        deleted: "deleted";
        running: "running";
        paused: "paused";
        idle: "idle";
        creating: "creating";
        stopping: "stopping";
        suspended: "suspended";
        terminated: "terminated";
    }>;
    runtime: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        iconUrl: z.ZodOptional<z.ZodString>;
        brandColor: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        requirements: z.ZodOptional<z.ZodObject<{
            memory: z.ZodOptional<z.ZodString>;
            cpu: z.ZodOptional<z.ZodString>;
            disk: z.ZodOptional<z.ZodString>;
            networkEnabled: z.ZodBoolean;
        }, z.core.$strip>>;
        readme: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    name: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    stdout: z.ZodObject<{
        id: z.ZodString;
        url: z.ZodString;
        readonly: z.ZodLiteral<true>;
        getReader: z.ZodCustom<() => ReadableStream<Uint8Array>, () => ReadableStream<Uint8Array>>;
    }, z.core.$strip>;
    stderr: z.ZodObject<{
        id: z.ZodString;
        url: z.ZodString;
        readonly: z.ZodLiteral<true>;
        getReader: z.ZodCustom<() => ReadableStream<Uint8Array>, () => ReadableStream<Uint8Array>>;
    }, z.core.$strip>;
    interleaved: z.ZodBoolean;
    auditStreamId: z.ZodOptional<z.ZodString>;
    execute: z.ZodCustom<(options: ExecuteOptions) => Promise<Execution>, (options: ExecuteOptions) => Promise<Execution>>;
    writeFiles: z.ZodCustom<(files: FileToWrite[]) => Promise<void>, (files: FileToWrite[]) => Promise<void>>;
    readFile: z.ZodCustom<(path: string) => Promise<ReadableStream<Uint8Array>>, (path: string) => Promise<ReadableStream<Uint8Array>>>;
    listFiles: z.ZodCustom<(path?: string) => Promise<SandboxFileInfo[]>, (path?: string) => Promise<SandboxFileInfo[]>>;
    mkDir: z.ZodCustom<(path: string, recursive?: boolean) => Promise<void>, (path: string, recursive?: boolean) => Promise<void>>;
    rmFile: z.ZodCustom<(path: string) => Promise<{
        found: boolean;
    }>, (path: string) => Promise<{
        found: boolean;
    }>>;
    rmDir: z.ZodCustom<(path: string, recursive?: boolean) => Promise<{
        found: boolean;
    }>, (path: string, recursive?: boolean) => Promise<{
        found: boolean;
    }>>;
    setEnv: z.ZodCustom<(env: Record<string, string | null>) => Promise<Record<string, string>>, (env: Record<string, string | null>) => Promise<Record<string, string>>>;
    pause: z.ZodCustom<() => Promise<SandboxPauseResult>, () => Promise<SandboxPauseResult>>;
    resume: z.ZodCustom<() => Promise<void>, () => Promise<void>>;
    destroy: z.ZodCustom<() => Promise<void>, () => Promise<void>>;
    createJob: z.ZodCustom<(options: CreateJobOptions) => Promise<Job>, (options: CreateJobOptions) => Promise<Job>>;
    getJob: z.ZodCustom<(jobId: string) => Promise<Job>, (jobId: string) => Promise<Job>>;
    listJobs: z.ZodCustom<(limit?: number) => Promise<{
        jobs: Job[];
    }>, (limit?: number) => Promise<{
        jobs: Job[];
    }>>;
    stopJob: z.ZodCustom<(jobId: string, force?: boolean) => Promise<Job>, (jobId: string, force?: boolean) => Promise<Job>>;
}, z.core.$strip>;
export type Sandbox = z.infer<typeof SandboxSchema>;
/**
 * File information returned by sandbox file operations.
 * NOTE: This interface is structurally identical to FileInfo in ./files.ts.
 * It is duplicated here to avoid circular type imports. Keep these in sync.
 */
export interface SandboxFileInfo {
    /** File path relative to the listed directory */
    path: string;
    /** File size in bytes */
    size: number;
    /** Whether the entry is a directory */
    isDir: boolean;
    /** Whether the entry is a symbolic link */
    isSymlink?: boolean;
    /** Target path of the symbolic link */
    linkTarget?: string;
    /** Unix permissions as octal string (e.g., "0644") */
    mode: string;
    /** Modification time in RFC3339 format */
    modTime: string;
}
/** Information about a user who created the sandbox */
export declare const SandboxUserInfoSchema: z.ZodObject<{
    id: z.ZodString;
    firstName: z.ZodOptional<z.ZodString>;
    lastName: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SandboxUserInfo = z.infer<typeof SandboxUserInfoSchema>;
/** Information about an agent associated with the sandbox */
export declare const SandboxAgentInfoSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
}, z.core.$strip>;
export type SandboxAgentInfo = z.infer<typeof SandboxAgentInfoSchema>;
/** Information about a project associated with the sandbox */
export declare const SandboxProjectInfoSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
}, z.core.$strip>;
export type SandboxProjectInfo = z.infer<typeof SandboxProjectInfoSchema>;
/** Information about an organization associated with the sandbox */
export declare const SandboxOrgInfoSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
}, z.core.$strip>;
export type SandboxOrgInfo = z.infer<typeof SandboxOrgInfoSchema>;
/** Information about a sandbox */
export declare const SandboxInfoSchema: z.ZodObject<{
    sandboxId: z.ZodString;
    identifier: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    status: z.ZodEnum<{
        failed: "failed";
        deleted: "deleted";
        running: "running";
        paused: "paused";
        idle: "idle";
        creating: "creating";
        stopping: "stopping";
        suspended: "suspended";
        terminated: "terminated";
    }>;
    mode: z.ZodOptional<z.ZodString>;
    createdAt: z.ZodString;
    region: z.ZodOptional<z.ZodString>;
    runtime: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        iconUrl: z.ZodOptional<z.ZodString>;
        brandColor: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    snapshot: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
        id: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
        tag: z.ZodOptional<z.ZodString>;
        fullName: z.ZodOptional<z.ZodString>;
        public: z.ZodLiteral<true>;
        org: z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            slug: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
    }, z.core.$strip>, z.ZodObject<{
        id: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
        tag: z.ZodOptional<z.ZodString>;
        fullName: z.ZodOptional<z.ZodString>;
        public: z.ZodLiteral<false>;
        user: z.ZodObject<{
            id: z.ZodString;
            firstName: z.ZodOptional<z.ZodString>;
            lastName: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
    }, z.core.$strip>], "public">>;
    executions: z.ZodNumber;
    exitCode: z.ZodOptional<z.ZodNumber>;
    stdoutStreamUrl: z.ZodOptional<z.ZodString>;
    stderrStreamUrl: z.ZodOptional<z.ZodString>;
    auditStreamId: z.ZodOptional<z.ZodString>;
    auditStreamUrl: z.ZodOptional<z.ZodString>;
    dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
    packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    resources: z.ZodOptional<z.ZodObject<{
        memory: z.ZodOptional<z.ZodString>;
        cpu: z.ZodOptional<z.ZodString>;
        disk: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    cpuTimeMs: z.ZodOptional<z.ZodNumber>;
    memoryByteSec: z.ZodOptional<z.ZodNumber>;
    networkEgressBytes: z.ZodOptional<z.ZodNumber>;
    networkEnabled: z.ZodOptional<z.ZodBoolean>;
    networkPort: z.ZodOptional<z.ZodNumber>;
    url: z.ZodOptional<z.ZodString>;
    user: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        firstName: z.ZodOptional<z.ZodString>;
        lastName: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    agent: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, z.core.$strip>>;
    project: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, z.core.$strip>>;
    org: z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, z.core.$strip>;
    timeout: z.ZodOptional<z.ZodObject<{
        idle: z.ZodOptional<z.ZodString>;
        execution: z.ZodOptional<z.ZodString>;
        paused: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    command: z.ZodOptional<z.ZodObject<{
        exec: z.ZodArray<z.ZodString>;
        mode: z.ZodOptional<z.ZodEnum<{
            oneshot: "oneshot";
            interactive: "interactive";
        }>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type SandboxInfo = z.infer<typeof SandboxInfoSchema>;
/** Parameters for listing sandboxes */
export declare const ListSandboxesParamsSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    mode: z.ZodOptional<z.ZodEnum<{
        oneshot: "oneshot";
        interactive: "interactive";
    }>>;
    projectId: z.ZodOptional<z.ZodString>;
    snapshotId: z.ZodOptional<z.ZodString>;
    status: z.ZodOptional<z.ZodEnum<{
        failed: "failed";
        deleted: "deleted";
        running: "running";
        paused: "paused";
        idle: "idle";
        creating: "creating";
        stopping: "stopping";
        suspended: "suspended";
        terminated: "terminated";
    }>>;
    live: z.ZodOptional<z.ZodBoolean>;
    limit: z.ZodOptional<z.ZodNumber>;
    offset: z.ZodOptional<z.ZodNumber>;
    sort: z.ZodOptional<z.ZodEnum<{
        name: "name";
        created: "created";
        status: "status";
        updated: "updated";
        mode: "mode";
        execution_count: "execution_count";
    }>>;
    direction: z.ZodOptional<z.ZodEnum<{
        asc: "asc";
        desc: "desc";
    }>>;
}, z.core.$strip>;
export type ListSandboxesParams = z.infer<typeof ListSandboxesParamsSchema>;
/** Response from listing sandboxes */
export declare const ListSandboxesResponseSchema: z.ZodObject<{
    sandboxes: z.ZodArray<z.ZodObject<{
        sandboxId: z.ZodString;
        identifier: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        status: z.ZodEnum<{
            failed: "failed";
            deleted: "deleted";
            running: "running";
            paused: "paused";
            idle: "idle";
            creating: "creating";
            stopping: "stopping";
            suspended: "suspended";
            terminated: "terminated";
        }>;
        mode: z.ZodOptional<z.ZodString>;
        createdAt: z.ZodString;
        region: z.ZodOptional<z.ZodString>;
        runtime: z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            iconUrl: z.ZodOptional<z.ZodString>;
            brandColor: z.ZodOptional<z.ZodString>;
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        snapshot: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
            id: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            tag: z.ZodOptional<z.ZodString>;
            fullName: z.ZodOptional<z.ZodString>;
            public: z.ZodLiteral<true>;
            org: z.ZodObject<{
                id: z.ZodString;
                name: z.ZodString;
                slug: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>;
        }, z.core.$strip>, z.ZodObject<{
            id: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            tag: z.ZodOptional<z.ZodString>;
            fullName: z.ZodOptional<z.ZodString>;
            public: z.ZodLiteral<false>;
            user: z.ZodObject<{
                id: z.ZodString;
                firstName: z.ZodOptional<z.ZodString>;
                lastName: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>;
        }, z.core.$strip>], "public">>;
        executions: z.ZodNumber;
        exitCode: z.ZodOptional<z.ZodNumber>;
        stdoutStreamUrl: z.ZodOptional<z.ZodString>;
        stderrStreamUrl: z.ZodOptional<z.ZodString>;
        auditStreamId: z.ZodOptional<z.ZodString>;
        auditStreamUrl: z.ZodOptional<z.ZodString>;
        dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
        packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        resources: z.ZodOptional<z.ZodObject<{
            memory: z.ZodOptional<z.ZodString>;
            cpu: z.ZodOptional<z.ZodString>;
            disk: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        cpuTimeMs: z.ZodOptional<z.ZodNumber>;
        memoryByteSec: z.ZodOptional<z.ZodNumber>;
        networkEgressBytes: z.ZodOptional<z.ZodNumber>;
        networkEnabled: z.ZodOptional<z.ZodBoolean>;
        networkPort: z.ZodOptional<z.ZodNumber>;
        url: z.ZodOptional<z.ZodString>;
        user: z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            firstName: z.ZodOptional<z.ZodString>;
            lastName: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        agent: z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>>;
        project: z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>>;
        org: z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>;
        timeout: z.ZodOptional<z.ZodObject<{
            idle: z.ZodOptional<z.ZodString>;
            execution: z.ZodOptional<z.ZodString>;
            paused: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        command: z.ZodOptional<z.ZodObject<{
            exec: z.ZodArray<z.ZodString>;
            mode: z.ZodOptional<z.ZodEnum<{
                oneshot: "oneshot";
                interactive: "interactive";
            }>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    total: z.ZodNumber;
}, z.core.$strip>;
export type ListSandboxesResponse = z.infer<typeof ListSandboxesResponseSchema>;
/** Parameters for listing sandbox runtimes */
export declare const ListRuntimesParamsSchema: z.ZodObject<{
    limit: z.ZodOptional<z.ZodNumber>;
    offset: z.ZodOptional<z.ZodNumber>;
    sort: z.ZodOptional<z.ZodEnum<{
        name: "name";
        created: "created";
    }>>;
    direction: z.ZodOptional<z.ZodEnum<{
        asc: "asc";
        desc: "desc";
    }>>;
}, z.core.$strip>;
export type ListRuntimesParams = z.infer<typeof ListRuntimesParamsSchema>;
/** Response from listing sandbox runtimes */
export declare const ListRuntimesResponseSchema: z.ZodObject<{
    runtimes: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        iconUrl: z.ZodOptional<z.ZodString>;
        brandColor: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        requirements: z.ZodOptional<z.ZodObject<{
            memory: z.ZodOptional<z.ZodString>;
            cpu: z.ZodOptional<z.ZodString>;
            disk: z.ZodOptional<z.ZodString>;
            networkEnabled: z.ZodBoolean;
        }, z.core.$strip>>;
        readme: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    total: z.ZodNumber;
}, z.core.$strip>;
export type ListRuntimesResponse = z.infer<typeof ListRuntimesResponseSchema>;
/** Options for executing a command in a sandbox */
export declare const ExecuteOptionsSchema: z.ZodObject<{
    command: z.ZodArray<z.ZodString>;
    files: z.ZodOptional<z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        content: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
    }, z.core.$strip>>>;
    timeout: z.ZodOptional<z.ZodString>;
    stream: z.ZodOptional<z.ZodObject<{
        stdout: z.ZodOptional<z.ZodString>;
        stderr: z.ZodOptional<z.ZodString>;
        timestamps: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
}, z.core.$strip>;
export type ExecuteOptions = z.infer<typeof ExecuteOptionsSchema>;
/** An execution instance */
export declare const ExecutionSchema: z.ZodObject<{
    executionId: z.ZodString;
    status: z.ZodEnum<{
        failed: "failed";
        completed: "completed";
        cancelled: "cancelled";
        running: "running";
        timeout: "timeout";
        queued: "queued";
    }>;
    exitCode: z.ZodOptional<z.ZodNumber>;
    durationMs: z.ZodOptional<z.ZodNumber>;
    stdoutStreamUrl: z.ZodOptional<z.ZodString>;
    stderrStreamUrl: z.ZodOptional<z.ZodString>;
    outputTruncated: z.ZodOptional<z.ZodBoolean>;
    autoResumed: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type Execution = z.infer<typeof ExecutionSchema>;
/** Information about a file in a snapshot */
export declare const SnapshotFileInfoSchema: z.ZodObject<{
    path: z.ZodString;
    size: z.ZodNumber;
    sha256: z.ZodString;
    contentType: z.ZodString;
    mode: z.ZodNumber;
}, z.core.$strip>;
export type SnapshotFileInfo = z.infer<typeof SnapshotFileInfoSchema>;
/** Organization information for snapshots */
export declare const SnapshotOrgInfoSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export type SnapshotOrgInfo = z.infer<typeof SnapshotOrgInfoSchema>;
/** User information for snapshots */
export declare const SnapshotUserInfoSchema: z.ZodObject<{
    id: z.ZodString;
    firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export type SnapshotUserInfo = z.infer<typeof SnapshotUserInfoSchema>;
/** Detailed information about a snapshot */
export declare const SnapshotInfoSchema: z.ZodObject<{
    snapshotId: z.ZodString;
    runtimeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    name: z.ZodString;
    fullName: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    tag: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    sizeBytes: z.ZodNumber;
    fileCount: z.ZodNumber;
    parentSnapshotId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    public: z.ZodOptional<z.ZodBoolean>;
    orgName: z.ZodOptional<z.ZodString>;
    orgSlug: z.ZodOptional<z.ZodString>;
    org: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>>>;
    user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        id: z.ZodString;
        firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>>>;
    createdAt: z.ZodString;
    downloadUrl: z.ZodOptional<z.ZodString>;
    files: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        size: z.ZodNumber;
        sha256: z.ZodString;
        contentType: z.ZodString;
        mode: z.ZodNumber;
    }, z.core.$strip>>>>;
    userMetadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
}, z.core.$strip>;
export type SnapshotInfo = z.infer<typeof SnapshotInfoSchema>;
/** Options for creating a snapshot */
export declare const SnapshotCreateOptionsSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    tag: z.ZodOptional<z.ZodString>;
    public: z.ZodOptional<z.ZodBoolean>;
    orgId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SnapshotCreateOptions = z.infer<typeof SnapshotCreateOptionsSchema>;
/** Parameters for listing snapshots */
export declare const SnapshotListParamsSchema: z.ZodObject<{
    sandboxId: z.ZodOptional<z.ZodString>;
    limit: z.ZodOptional<z.ZodNumber>;
    offset: z.ZodOptional<z.ZodNumber>;
    sort: z.ZodOptional<z.ZodEnum<{
        name: "name";
        created: "created";
        size: "size";
        files: "files";
    }>>;
    direction: z.ZodOptional<z.ZodEnum<{
        asc: "asc";
        desc: "desc";
    }>>;
}, z.core.$strip>;
export type SnapshotListParams = z.infer<typeof SnapshotListParamsSchema>;
/** Response from listing snapshots */
export declare const SnapshotListResponseSchema: z.ZodObject<{
    snapshots: z.ZodArray<z.ZodObject<{
        snapshotId: z.ZodString;
        runtimeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        name: z.ZodString;
        fullName: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        tag: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        sizeBytes: z.ZodNumber;
        fileCount: z.ZodNumber;
        parentSnapshotId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        public: z.ZodOptional<z.ZodBoolean>;
        orgName: z.ZodOptional<z.ZodString>;
        orgSlug: z.ZodOptional<z.ZodString>;
        org: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        }, z.core.$strip>>>;
        user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            id: z.ZodString;
            firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        }, z.core.$strip>>>;
        createdAt: z.ZodString;
        downloadUrl: z.ZodOptional<z.ZodString>;
        files: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            size: z.ZodNumber;
            sha256: z.ZodString;
            contentType: z.ZodString;
            mode: z.ZodNumber;
        }, z.core.$strip>>>>;
        userMetadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
    }, z.core.$strip>>;
    total: z.ZodNumber;
}, z.core.$strip>;
export type SnapshotListResponse = z.infer<typeof SnapshotListResponseSchema>;
/**
 * Service for managing sandbox snapshots
 */
export interface SnapshotService {
    create(sandboxId: string, options?: SnapshotCreateOptions): Promise<SnapshotInfo>;
    get(snapshotId: string): Promise<SnapshotInfo>;
    list(params?: SnapshotListParams): Promise<SnapshotListResponse>;
    delete(snapshotId: string): Promise<void>;
    tag(snapshotId: string, tag: string | null): Promise<SnapshotInfo>;
}
/** Options for one-shot sandbox execution */
export declare const SandboxRunOptionsSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    stream: z.ZodOptional<z.ZodObject<{
        stdout: z.ZodOptional<z.ZodString>;
        stderr: z.ZodOptional<z.ZodString>;
        stdin: z.ZodOptional<z.ZodString>;
        timestamps: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    description: z.ZodOptional<z.ZodString>;
    projectId: z.ZodOptional<z.ZodString>;
    dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
    snapshot: z.ZodOptional<z.ZodString>;
    runtime: z.ZodOptional<z.ZodString>;
    resources: z.ZodOptional<z.ZodObject<{
        memory: z.ZodOptional<z.ZodString>;
        cpu: z.ZodOptional<z.ZodString>;
        disk: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    timeout: z.ZodOptional<z.ZodObject<{
        idle: z.ZodOptional<z.ZodString>;
        execution: z.ZodOptional<z.ZodString>;
        paused: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    files: z.ZodOptional<z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        content: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
    }, z.core.$strip>>>;
    runtimeId: z.ZodOptional<z.ZodString>;
    network: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        port: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
    command: z.ZodObject<{
        exec: z.ZodArray<z.ZodString>;
        files: z.ZodOptional<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            content: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type SandboxRunOptions = z.infer<typeof SandboxRunOptionsSchema>;
/** Result from one-shot sandbox execution */
export declare const SandboxRunResultSchema: z.ZodObject<{
    sandboxId: z.ZodString;
    exitCode: z.ZodNumber;
    durationMs: z.ZodNumber;
    stdout: z.ZodOptional<z.ZodString>;
    stderr: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SandboxRunResult = z.infer<typeof SandboxRunResultSchema>;
/**
 * Sandbox service for creating and managing isolated execution environments
 */
export interface SandboxService {
    run(options: SandboxRunOptions): Promise<SandboxRunResult>;
    create(options?: SandboxCreateOptions): Promise<Sandbox>;
    /** Get a full Sandbox instance for an existing sandbox by ID. */
    connect(sandboxId: string): Promise<Sandbox>;
    get(sandboxId: string): Promise<SandboxInfo>;
    list(params?: ListSandboxesParams): Promise<ListSandboxesResponse>;
    destroy(sandboxId: string): Promise<void>;
    /** Pause a running sandbox, creating a checkpoint of its current state. */
    pause(sandboxId: string): Promise<SandboxPauseResult>;
    /** Resume a paused or evacuated sandbox from its checkpoint. */
    resume(sandboxId: string): Promise<void>;
    snapshot: SnapshotService;
}
/**
 * Request body for updating sandbox environment variables.
 */
export declare const SandboxEnvUpdateRequestSchema: z.ZodObject<{
    env: z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export type SandboxEnvUpdateRequest = z.infer<typeof SandboxEnvUpdateRequestSchema>;
/**
 * Response data for updating sandbox environment variables.
 */
export declare const SandboxEnvUpdateResponseSchema: z.ZodObject<{
    env: z.ZodRecord<z.ZodString, z.ZodString>;
}, z.core.$strip>;
export type SandboxEnvUpdateResponse = z.infer<typeof SandboxEnvUpdateResponseSchema>;
/**
 * Response data for sandbox status check (mirrors private SandboxStatusDataSchema in getStatus.ts).
 */
export declare const SandboxStatusResponseDataSchema: z.ZodObject<{
    sandboxId: z.ZodString;
    status: z.ZodString;
    exitCode: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type SandboxStatusResponseData = z.infer<typeof SandboxStatusResponseDataSchema>;
/**
 * Request body for initializing a snapshot build (mirrors private _SnapshotBuildInitParamsSchema in snapshot.ts).
 */
export declare const SnapshotBuildInitRequestSchema: z.ZodObject<{
    runtime: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    tag: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    contentHash: z.ZodOptional<z.ZodString>;
    force: z.ZodOptional<z.ZodBoolean>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
    public: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type SnapshotBuildInitRequest = z.infer<typeof SnapshotBuildInitRequestSchema>;
/**
 * Request body for finalizing a snapshot build (mirrors private _SnapshotBuildFinalizeParamsSchema in snapshot.ts).
 */
export declare const SnapshotBuildFinalizeRequestSchema: z.ZodObject<{
    sizeBytes: z.ZodNumber;
    fileCount: z.ZodNumber;
    files: z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        size: z.ZodNumber;
        sha256: z.ZodString;
        contentType: z.ZodString;
        mode: z.ZodNumber;
    }, z.core.$strip>>;
    dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
    packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
    env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, z.core.$strip>;
export type SnapshotBuildFinalizeRequest = z.infer<typeof SnapshotBuildFinalizeRequestSchema>;
/**
 * Request body for updating a snapshot tag.
 */
export declare const SnapshotTagUpdateRequestSchema: z.ZodObject<{
    tag: z.ZodNullable<z.ZodString>;
}, z.core.$strip>;
export type SnapshotTagUpdateRequest = z.infer<typeof SnapshotTagUpdateRequestSchema>;
/** Structured error for sandbox operations */
export declare const SandboxError: {
    new (args?: ({
        sandboxId?: string;
        executionId?: string;
    } & {
        message?: string;
        cause?: unknown;
    }) | undefined): import("../../error.ts").RichError & {
        readonly _tag: "SandboxError";
    } & Readonly<{
        sandboxId?: string;
        executionId?: string;
    }>;
    readonly defaultMessage?: string;
};
//# sourceMappingURL=types.d.ts.map