///
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;
};
}