import { IConsole, Logger } from '../logger'; import { IWorkerData } from './IWorkerData'; import { IWorkerProcess } from './IWorkerProcess'; export declare const WORKER_ERROR_CODES: { TIMEOUT: number; BLOCKING: number; }; export declare const THREAD_EXIT_CODES: { SUCCESS: number; RETRY: number; ERROR: number; BLOCKING: number; }; export declare class AbstractWorkerProcessor { protected name: string; protected bypassConnection: boolean; protected static NeedToStop: boolean; protected static BlockingDetected: boolean; protected config: any; protected input: any; protected logger: Logger; protected processes: IWorkerProcess[]; private perfBegin; private perfTimeSpentComputing; private perfTimeSpentWaiting; constructor(name: string, workerData: IWorkerData, bypassConnection?: boolean); static CheckIfItShouldStop(): boolean; static ForceStop(stop?: boolean): void; static IsBlockingDetected(): boolean; static ResetBlocking(): void; static GetProcesses(): IWorkerProcess[]; launch(): Promise; getName(): string; getProcesses(): IWorkerProcess[]; protected loop(asyncFn: (config: any, inputs: any, logger: IConsole, count: number) => Promise, count: number, inputs: any): Promise; protected getLogger(): IConsole; protected initLogger(config: any): Logger; protected getInputs(config: any, input: any): Promise; protected connect(): Promise; protected disconnect(): Promise; protected onEnd(allDone: boolean, logger: IConsole, stats: { timeSpentTotal: number; timeSpentComputing: number; timeSpentWaiting: number; }): Promise; private buildStats; }