///
import * as cp from "child_process";
import { ServerProxy } from "../common/proxy";
import { WritableProxy, ReadableProxy } from "./stream";
export declare type ForkProvider = (modulePath: string, args?: string[], options?: cp.ForkOptions) => cp.ChildProcess;
export declare class ChildProcessProxy extends ServerProxy {
private exited;
constructor(instance: cp.ChildProcess);
kill(signal?: string): Promise;
disconnect(): Promise;
ref(): Promise;
unref(): Promise;
send(message: any): Promise;
getPid(): Promise;
dispose(): Promise;
}
export interface ChildProcessProxies {
childProcess: ChildProcessProxy;
stdin?: WritableProxy | null;
stdout?: ReadableProxy | null;
stderr?: ReadableProxy | null;
}
export declare class ChildProcessModuleProxy {
private readonly forkProvider?;
constructor(forkProvider?: ForkProvider | undefined);
exec(command: string, options?: {
encoding?: string | null;
} & cp.ExecOptions | null): Promise;
fork(modulePath: string, args?: string[], options?: cp.ForkOptions): Promise;
spawn(command: string, args?: string[], options?: cp.SpawnOptions): Promise;
private returnProxies;
}