/** * Docker Runner * Runs containers using Docker CLI */ import type { Runner, RunnerType, RunnerStartOptions, RunnerStartResult, RunnerStopOptions, RunnerLogOptions, RunnerStatus, PersistedRunnerState } from './types.js'; /** * Reset the Docker availability cache. * Called before autoRun to ensure Docker is checked fresh. */ export declare function resetDockerCheck(): void; export declare class DockerRunner implements Runner { readonly type: RunnerType; private id; private command; private cwd; private containerId; private containerName; private port; private startedAt; private lastLogTimestamp; private env; constructor(id: string); /** * Restore state from persisted data */ restore(data: PersistedRunnerState): void; /** * Execute docker command using spawn with args array (prevents shell injection) */ private execDocker; /** * Parse a docker run command string into an array of arguments. * This handles quoted strings properly. */ private parseCommandArgs; /** * Build docker run arguments from the command and options */ private buildDockerRunArgs; start(options: RunnerStartOptions): Promise; stop(options?: RunnerStopOptions): Promise; isRunning(): Promise; getStatus(): Promise; getLogs(options?: RunnerLogOptions): Promise; detectPort(): Promise; cleanup(): Promise; /** Getters for state persistence */ getId(): string; getCommand(): string; getCwd(): string; getPid(): number; getContainerId(): string | null; getPort(): number | null; getStartedAt(): Date | null; /** Setters */ setPort(port: number): void; /** * Get log access info */ getLogAccess(): { type: 'command'; command: string; }; } //# sourceMappingURL=docker-runner.d.ts.map