///
import { IPackageJson, ITerminal } from '@rushstack/node-core-library';
import { StandardBuildFolders } from './StandardBuildFolders';
/**
* Options for a CmdTask.
* @beta
*/
export interface IBaseTaskOptions {
/**
* The name of the package to resolve.
*/
packagePath: string;
/**
*
*/
packageJson: IPackageJson;
/**
* The path to the binary to invoke inside the package.
*/
packageBinPath: string;
}
/**
* @beta
*/
export interface IRunCmdOptions {
args: string[];
onData?: (data: Buffer) => void;
onError?: (data: Buffer) => void;
onClose?: (code: number, hasErrors: boolean, resolve: (value: unknown) => void, reject: (error: Error) => void) => void;
}
/**
* This base task provides support for finding and then executing a binary in a node package.
*
* @beta
*/
export declare class CmdRunner {
private static readonly _nodePath;
private _standardBuildFolders;
private _terminal;
private _options;
private _errorHasBeenLogged;
constructor(constants: StandardBuildFolders, terminal: ITerminal, options: IBaseTaskOptions);
runCmdAsync(options: IRunCmdOptions): Promise;
protected _onData(data: Buffer): void;
protected _onError(data: Buffer): void;
protected _onClose(code: number, hasErrors: boolean, resolve: (value: unknown) => void, reject: (error: Error) => void): void;
}
//# sourceMappingURL=CmdRunner.d.ts.map