import type { Logger } from '../logger';
import { Config } from './config';
export type ChildOutput = {
    exitCode: number | null;
    signal: NodeJS.Signals | null;
};
/**
 * Wrapper above child_process.ChildProcess to simplify usage
 */
export declare class ChildProcessWrapper {
    private _child;
    private _exitPromise;
    static spawn(config: Config, logger: Logger): Promise<ChildProcessWrapper>;
    private _exited;
    private constructor();
    kill(): Promise<ChildOutput>;
    listen(): Promise<ChildOutput>;
}
