///
import * as cp from 'child_process';
import { Request } from '../client';
import { WorkerClient } from './WorkerClient';
import { LocalMaster } from '../master/LocalMaster';
export interface WorkerOpts {
requireWhiteList?: string[];
nodeArgs?: string[];
}
export declare class LocalWorker extends WorkerClient {
worker: cp.ChildProcess | null;
sequence: Function[][];
waitExit?: Function;
master: LocalMaster;
opts: WorkerOpts;
constructor(master: LocalMaster, id: string, opts?: WorkerOpts);
init(): Promise;
sendToWorker(m: Request): void;
onMessage: (buf: string) => void;
onExit: (code: number) => void;
processRequest(m: Request): Promise;
dispose(): Promise;
onProcessExit: () => void;
}