///
import { TaskConfig } from "../task";
import { Result } from '../result';
import { ExecOptions } from "child_process";
declare type execConfigType = ExecConfigCallback | TaskExecOptions;
interface TaskExecOptions extends ExecOptions {
output: boolean;
}
interface ExecConfigCallback {
(cfg: ExecConfig): void;
}
/**
* Executes shell command and returns a promise.
*
* ```js
* await exec('ls -ll');
* ```
* A second parameter can be used to pass in [ExecOptions](https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback) from "child_process" module:
*
* ```js
* await exec('rails s', { env: { RAILS_ENV: 'production' } })
* ```
*
* To hide output pass in `output: false`:
*
* ```js
* await exec('docker build', { output: false });
* ```
*
*/
export default function exec(command: string, config?: execConfigType): Promise;
export declare class ExecConfig extends TaskConfig {
TASK: string;
command: string;
hasOutput: boolean;
execOptions: ExecOptions;
constructor(command: any);
applyOptions(opts: TaskExecOptions): void;
prefix(prefix: any): void;
opt(option: any, value?: string): void;
env(variable: any, value: any): this;
arg(arg?: string): this;
silent(silent?: boolean): this;
}
export {};
//# sourceMappingURL=exec.d.ts.map