+export type WorkerOptions = {
+ workerStartDelay?: number;
+ elementStartDelay?: number;
+ poolMaxSize?: number;
+ poolMinSize?: number;
+ elementsPerWorker?: number;
+ poolOptions?: PoolOptions<Worker>;
+ messageHandler?: (this: Worker, message: unknown) => void | Promise<void>;
+};
+
+export type WorkerData = Record<string, unknown>;
+
+export type WorkerSetElement = {
+ worker: Worker;
+ numberOfWorkerElements: number;
+};
+
+export type WorkerMessage<T extends WorkerData> = {
+ id: WorkerMessageEvents;
+ data: T;
+};
+
+export enum WorkerMessageEvents {