/** Cross-platform sandbox engine: Docker, Apple Container, auto-detect. */ export type SandboxEngineType = "docker" | "apple-container" | "auto"; export interface ContainerRunOptions { image: string; name: string; detach: boolean; mounts: Array<{ host: string; container: string; readonly: boolean; }>; env: Record; network: string; user: string; capDrop: string[]; memory?: string; cpus?: number; pidsLimit?: number; readOnlyRoot?: boolean; ports?: Array<{ host: number; container: number; }>; dns?: string[]; } export interface ContainerExecOptions { containerId: string; command: string; workdir?: string; env?: Record; timeoutMs?: number; stdin?: string; } export interface ContainerExecResult { exitCode: number; stdout: string; stderr: string; durationMs: number; } export interface EngineInfo { type: SandboxEngineType; available: boolean; version: string; platform: string; arch: string; details: string; } export interface ISandboxEngine { readonly engineType: SandboxEngineType; isAvailable(): boolean; getInfo(): EngineInfo; runContainer(opts: ContainerRunOptions): Promise; execInContainer(opts: ContainerExecOptions): Promise; stopContainer(id: string): Promise; removeContainer(id: string): Promise; isContainerRunning(id: string): boolean; imageExists(image: string): boolean; pullImage(image: string): Promise; listContainers(prefix: string): string[]; healthCheck(id: string): Promise; } export declare class DockerEngine implements ISandboxEngine { readonly engineType: SandboxEngineType; isAvailable(): boolean; getInfo(): EngineInfo; runContainer(opts: ContainerRunOptions): Promise; execInContainer(opts: ContainerExecOptions): Promise; stopContainer(id: string): Promise; removeContainer(id: string): Promise; isContainerRunning(id: string): boolean; imageExists(image: string): boolean; pullImage(image: string): Promise; listContainers(prefix: string): string[]; healthCheck(id: string): Promise; private getDockerContext; } export declare class AppleContainerEngine implements ISandboxEngine { readonly engineType: SandboxEngineType; isAvailable(): boolean; getInfo(): EngineInfo; runContainer(opts: ContainerRunOptions): Promise; execInContainer(opts: ContainerExecOptions): Promise; stopContainer(id: string): Promise; removeContainer(id: string): Promise; isContainerRunning(id: string): boolean; imageExists(image: string): boolean; pullImage(image: string): Promise; listContainers(prefix: string): string[]; healthCheck(id: string): Promise; } /** Auto-detect: prefer Apple Container on ARM Mac, else Docker. */ export declare function detectBestEngine(): ISandboxEngine; export declare function createEngine(type: SandboxEngineType): ISandboxEngine; export declare function getAllEngineInfo(): EngineInfo[]; export declare function getPlatformSetupNotes(): string; //# sourceMappingURL=sandbox-engine.d.ts.map