/** * Docker Compose Runner * Runs services using Docker Compose CLI */ import type { Runner, RunnerType, RunnerStartOptions, RunnerStartResult, RunnerStopOptions, RunnerLogOptions, RunnerStatus, PersistedRunnerState } from './types.js'; /** * Reset the Docker Compose availability cache. * Called before autoRun to ensure Docker is checked fresh. */ export declare function resetComposeCheck(): void; export declare class DockerComposeRunner implements Runner { readonly type: RunnerType; private id; private command; private cwd; private projectName; private port; private startedAt; private lastLogTimestamp; private composeFile; private env; constructor(id: string); /** * Restore state from persisted data */ restore(data: PersistedRunnerState): void; /** * Detect compose file from cwd */ private detectComposeFile; /** * Get the docker compose command and cache it * @returns The compose command to use */ private getComposeCommand; /** * Execute docker compose command using spawn with args array (prevents shell injection) */ private execCompose; /** * Parse the docker compose command to extract flags */ private parseCommand; 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; getPort(): number | null; getStartedAt(): Date | null; getProjectName(): string; /** Setters */ setPort(port: number): void; /** * Get log access info */ getLogAccess(): { type: 'command'; command: string; }; } //# sourceMappingURL=docker-compose-runner.d.ts.map