import type { Capability, CapabilityContext, CapabilityPlanDetails, CapabilityVerification, RollbackContext } from "./types.js"; import type { CapabilityExecutor } from "./executor.js"; import { NodePermissionExecutor } from "./executor.js"; export type DockerMount = { source: string; target: string; readOnly?: boolean; }; export type DockerExecutorOptions = { dockerCommand?: string; image?: string; timeoutMs?: number; memory?: string; cpus?: number; pidsLimit?: number; environment?: Readonly>; mounts?: readonly DockerMount[]; network?: "auto" | "none" | "bridge"; }; export declare function isDockerAvailable(command?: string, timeoutMs?: number): Promise; export declare class DockerExecutor implements CapabilityExecutor { private readonly options; constructor(options?: DockerExecutorOptions); private source; private lifecycle; execute(capability: Capability, input: unknown, context: CapabilityContext): Promise; plan(capability: Capability, input: unknown): Promise; verify(capability: Capability, output: unknown, context: CapabilityContext): Promise; rollback(capability: Capability, context: RollbackContext): Promise; } export type AutoIsolatedExecutorOptions = { docker?: DockerExecutorOptions; node?: ConstructorParameters[0]; preferDocker?: boolean; }; export declare class AutoIsolatedExecutor implements CapabilityExecutor { private readonly options; private dockerAvailable?; private readonly docker; private readonly node; constructor(options?: AutoIsolatedExecutorOptions); private target; execute(capability: Capability, input: unknown, context: CapabilityContext): Promise; plan(capability: Capability, input: unknown): Promise; verify(capability: Capability, output: unknown, context: CapabilityContext): Promise; rollback(capability: Capability, context: RollbackContext): Promise; } //# sourceMappingURL=docker.d.ts.map