import { BaseHelper } from '../../base/base.helper'; import { ValueOrPromise } from '../../common/types'; import { MessagePort, Transferable } from 'node:worker_threads'; import { IWorkerBus, IWorkerMessageBusHandler } from './types'; export declare abstract class AbstractWorkerMessageBusHandlerHelper extends BaseHelper implements IWorkerMessageBusHandler { onMessage: (opts: { message: IConsumePayload; }) => ValueOrPromise; onClose: () => ValueOrPromise; onError: (opts: { error: Error; }) => ValueOrPromise; onExit: (opts: { exitCode: number | string; }) => ValueOrPromise; } export declare class BaseWorkerMessageBusHandlerHelper extends AbstractWorkerMessageBusHandlerHelper { constructor(opts: { scope: string; onMessage: (opts: { message: IConsumePayload; }) => ValueOrPromise; onClose?: () => ValueOrPromise; onError?: (opts: { error: Error; }) => ValueOrPromise; onExit?: (opts: { exitCode: number | string; }) => ValueOrPromise; }); } export declare abstract class AbstractWorkerBusHelper extends BaseHelper implements IWorkerBus { port: MessagePort; handler: IWorkerMessageBusHandler; abstract onBeforePostMessage?(opts: { message: IPublishPayload; }): ValueOrPromise; abstract onAfterPostMessage?(opts: { message: IPublishPayload; }): ValueOrPromise; abstract postMessage(opts: { message: IPublishPayload; transferList: readonly Transferable[] | undefined; }): ValueOrPromise; } export declare class BaseWorkerBusHelper extends AbstractWorkerBusHelper { constructor(opts: { scope: string; port: MessagePort; busHandler: IWorkerMessageBusHandler; }); onBeforePostMessage?(opts: { message: IPublishPayload; }): ValueOrPromise; onAfterPostMessage?(opts: { message: IPublishPayload; }): ValueOrPromise; postMessage(opts: { message: IPublishPayload; transferList: readonly Transferable[] | undefined; }): ValueOrPromise; } //# sourceMappingURL=worker-bus.d.ts.map