import { DefaultTasksRunnerOptions } from './default-tasks-runner';
import { Task } from './tasks-runner';
import { Batch } from './tasks-schedule';
import { BatchResults } from './batch/batch-messages';
export declare class ForkedProcessTaskRunner {
    private readonly options;
    workspaceRoot: string;
    cliPath: string;
    private processes;
    constructor(options: DefaultTasksRunnerOptions);
    forkProcessForBatch({ executorName, taskGraph }: Batch): Promise<BatchResults>;
    forkProcessPipeOutputCapture(task: Task, { forwardOutput }: {
        forwardOutput: boolean;
    }): Promise<{
        code: number;
        terminalOutput: string;
    }>;
    forkProcessDirectOutputCapture(task: Task, { forwardOutput, temporaryOutputPath, }: {
        forwardOutput: boolean;
        temporaryOutputPath: string;
    }): Promise<{
        code: number;
        terminalOutput: string;
    }>;
    private readTerminalOutput;
    private envForForkedProcess;
    private envForForkedProcessForTask;
    private signalToCode;
    private setupOnProcessExitListener;
}
