import * as winston from 'winston';
import { TargetHardware } from '../../core/app';
import { Spawner } from '../spawner';
export declare function buildDockerImage(props: {
    targetHostSpawner: Spawner;
    targetHardware?: string;
    dockerImageTag?: string;
    dockerfilePath?: string;
    pullBaseImage?: boolean;
    runInForeground?: boolean;
    logger?: winston.Logger;
}): Promise<string>;
export declare function pullDockerImage(props: {
    targetHostSpawner: Spawner;
    dockerImageId: string;
}): Promise<void>;
export declare type DockerRunCmd = {
    dockerImageId: string;
    pullImage?: boolean;
    remove?: boolean;
    interactive?: boolean;
    tty?: boolean;
    volumes?: string[];
    env_vars?: string[];
    user?: string;
    ports?: string[];
    targetHardware?: TargetHardware;
    workdir?: string;
    detach?: boolean;
    restart?: string;
    exe?: string;
    exeArgs?: string[];
};
export declare function getDockerRunCmd(cmd: DockerRunCmd): string[];
export declare function runDockerContainer(props: {
    targetHostSpawner: Spawner;
    cmd: DockerRunCmd;
}): Promise<string>;
export declare function runDockerContainerForeground(props: {
    targetHostSpawner: Spawner;
    cmd: DockerRunCmd;
}): Promise<void>;
//# sourceMappingURL=docker-cmd.d.ts.map