import { Reporter } from "../reporter";
import { ActionEnv, DeepArray } from "./interfaces";
export declare function flattenArgList(args: DeepArray<any>): string[];
export interface ProcessActionOptions {
    cwd: string;
    interactive?: boolean;
    env: any;
    reporter: Reporter;
}
export interface ProcessExitStatus {
    code?: number;
    signal?: string;
}
export declare class ProcessPipePromise implements PromiseLike<ProcessExitStatus> {
    private pendingCommands;
    private p;
    constructor(options: ProcessActionOptions);
    pipe(...commandLine: any[]): this;
    then<TResult1, TResult2 = never>(onfulfilled?: ((value: ProcessExitStatus) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): PromiseLike<TResult1 | TResult2>;
}
export declare function createKit_Command(ce: ActionEnv): {
    run: (...commandLine: any[]) => ProcessPipePromise;
    interactive: (...commandLine: any[]) => ProcessPipePromise;
};
