/// import type { MessagePort } from 'worker_threads'; export declare type TransferList = Parameters[1]; export interface TaskFuncThis { workerData?: WorkerData; require: NodeRequire; } export declare type Func = (this: TThis, ...args: any[]) => any; export declare type Async = ReturnType extends never ? Parameters extends [] ? () => Promise> : (...args: Parameters) => Promise> : ReturnType extends Promise ? TFunc : Parameters extends [] ? () => Promise> : (...args: Parameters) => Promise>; export interface NodeWorkerSettings { /** * Enable SHARE_ENV for all threads in pool. * @see {@link https://nodejs.org/dist/latest-v14.x/docs/api/worker_threads.html#worker_threads_worker_share_env SHARE_ENV} */ shareEnv?: boolean; /** * Set resourceLimits for all threads in pool. * @see {@link https://nodejs.org/api/worker_threads.html#worker_threads_worker_resourcelimits resourcelimits} */ resourceLimits?: { maxYoungGenerationSizeMb?: number; maxOldGenerationSizeMb?: number; codeRangeSizeMb?: number; stackSizeMb?: number; }; }