import { Positive, CommandUtil, ProgressBar, Spawn, ForceErrorImpl, SafeJson } from 'firmament-yargs';
import { DockerContainerManagement } from '../interfaces/docker-container-management';
import { DockerImageManagement } from '../interfaces/docker-image-management';
import { RemoteCatalogGetter } from 'firmament-yargs';
import { DockerProvision } from '../interfaces/docker-provision';
import { DockerUtil } from '../interfaces/docker-util';
import { ProcessCommandJson } from 'firmament-bash/js/interfaces/process-command-json';
export declare class DockerProvisionImpl extends ForceErrorImpl implements DockerProvision {
    private commandUtil;
    private spawn;
    private safeJson;
    private remoteCatalogGetter;
    private processCommandJson;
    dockerUtil: DockerUtil;
    private dockerImageManagement;
    private dockerContainerManagement;
    private positive;
    private progressBar;
    private stackConfigTemplate;
    private writeScripts;
    constructor(commandUtil: CommandUtil, spawn: Spawn, safeJson: SafeJson, remoteCatalogGetter: RemoteCatalogGetter, processCommandJson: ProcessCommandJson, dockerUtil: DockerUtil, dockerImageManagement: DockerImageManagement, dockerContainerManagement: DockerContainerManagement, positive: Positive, progressBar: ProgressBar);
    private validateDockerStackConfigTemplate;
    private checkNfsMounts;
    private remoteSpawnCmdArray;
    private static optionsHashToString;
    private static optionsStringToHash;
    extractYamlFromJson(argv: any, cb?: () => void): void;
    makeTemplate(argv: any, cb?: () => void): void;
    buildTemplate(argv: any, cb?: (err?: Error) => void): void;
    private convertOptionsFromCamelToSnakeCase;
    private logErrAndResult;
    private createDockerMachines;
    private createWorkerDockerMachine;
    private handleDockerMachineExecutionFailure;
    private createDockerMachine;
    private finalConfig_VirtualBox;
    private finalConfig_AmazonEC2;
    private finalConfig_OpenStack;
    private finalConfig_VMWareVSphere;
    private adjustBoot2DockerProfile;
    private runCommandOnDockerMachineHost;
    private getContainerConfigsFromJsonFile;
    private composeAndWriteTemplate;
    private callbackAndExitIfError;
    private callbackAndExitWithError;
    private camelToSnake;
    private createOutputPath;
}
