import { type Logger } from 'winston';
import { Child } from './child.js';
import { WakaQ } from './wakaq.js';
export declare class WakaQWorker {
    wakaq: WakaQ;
    childWorkerCommand: string;
    childWorkerArgs: string[];
    children: Child[];
    private _stopProcessing;
    private _numTasksProcessed;
    logger: Logger;
    constructor(wakaq: WakaQ, childWorkerCommand: string[]);
    start(): Promise<void>;
    private _spawnChild;
    private _processTasksSingleProcessMode;
    private _stop;
    private _stopAllChildren;
    private _onExitParent;
    private _onChildExited;
    private _onOutputReceivedFromChild;
    private _onMessageReceivedFromChild;
    private _enqueueReadyEtaTasks;
    private _checkChildMemoryUsages;
    private _checkChildRuntimes;
    private _handleBroadcastTask;
    private _respawnMissingChildren;
    private _executeTask;
}
