import { Config } from "../types";
export interface DockerWorkerOptions {
    workspaceDir: string;
    jwt: string;
    apiUrl: string;
    config?: Config;
    share?: boolean;
    unshare?: boolean;
}
export declare class DockerService {
    private static readonly IMAGE_NAME;
    private static readonly CONTAINER_PREFIX;
    checkDockerAvailable(): Promise<boolean>;
    private getDockerfilePath;
    private ensureDockerfile;
    buildWorkerImage(): Promise<void>;
    imageExists(): Promise<boolean>;
    private expandPath;
    private parseVolumeMount;
    private processVolumeMounts;
    private getWorkspaceHash;
    private removeContainerByName;
    runWorkerContainer(options: DockerWorkerOptions): Promise<string>;
    followContainerLogs(containerId: string): Promise<void>;
    stopContainer(containerId: string): Promise<void>;
    cleanupAllWorkerContainers(): Promise<void>;
    private generateDockerfile;
}
