import type { Logger } from '../logger';
import type { Config } from './config';
export type WorkerProps = {
    hangOnExit?: boolean;
};
export declare class Worker {
    private _config;
    private _logger;
    private _props;
    static spawn(config: Config, logger: Logger, props?: Partial<WorkerProps>): Promise<Worker>;
    private _state;
    private constructor();
    /**
     * Used to determine if the worker can be killed
     */
    get running(): boolean;
    kill: () => Promise<import("./child-wrapper").ChildOutput>;
    reload: () => Promise<void>;
    wait: () => Promise<void>;
}
