import { Worker, WorkerOptions } from 'node:worker_threads'; import { BaseHelper } from '../../base/base.helper'; import { AnyType, ValueOrPromise } from '../../common/types'; import { IWorker, IWorkerBus, IWorkerThread } from './types'; export declare abstract class AbstractWorkerHelper extends BaseHelper implements IWorker { worker: Worker; options: WorkerOptions; abstract onOnline(): ValueOrPromise; abstract onExit(opts: { code: string | number; }): ValueOrPromise; abstract onError(opts: { error: Error; }): ValueOrPromise; abstract onMessage(opts: { message: MessageType; }): ValueOrPromise; abstract onMessageError(opts: { error: Error; }): ValueOrPromise; } export declare class BaseWorkerHelper extends AbstractWorkerHelper { protected eventHandlers?: Partial, 'onOnline' | 'onExit' | 'onError' | 'onMessage' | 'onMessageError'>>; constructor(opts: { scope?: string; identifier: string; path: string | URL; options: WorkerOptions; eventHandlers?: Partial, 'onOnline' | 'onExit' | 'onError' | 'onMessage' | 'onMessageError'>>; }); onOnline(): ValueOrPromise; onExit(opts: { code: string | number; }): ValueOrPromise; onError(opts: { error: Error; }): ValueOrPromise; onMessage(opts: { message: MessageType; }): ValueOrPromise; onMessageError(opts: { error: Error; }): ValueOrPromise; binding(): void; } export declare abstract class AbstractWorkerThreadHelper extends BaseHelper implements IWorkerThread { buses: { [workerKey: string | symbol]: IWorkerBus; }; abstract bindWorkerBus(opts: { key: string; bus: IWorkerBus; }): ValueOrPromise; abstract getWorkerBus(opts: { key: string; }): IWorkerBus; } export declare class BaseWorkerThreadHelper extends AbstractWorkerThreadHelper { constructor(opts: { scope: string; }); bindWorkerBus(opts: { key: string; bus: IWorkerBus; }): void; unbindWorkerBus(opts: { key: string; }): void; getWorkerBus(opts: { key: string; }): IWorkerBus; } //# sourceMappingURL=base.d.ts.map