///
import { WorkerOptions, MessagePort } from "worker_threads";
export declare const transferKey: unique symbol;
declare type Config = Partial Array;
}>;
declare type ExitCode = number;
declare type TransferResult = {
result: R;
[transferKey]: Array;
};
export declare type Handler = (payload?: T1, workerData?: T2) => R;
export declare type Work = (handler: Handler) => void;
export declare type Task = {
(payload: T1, transferList?: (ArrayBuffer | MessagePort)[]): Promise;
ref: () => void;
unref: () => void;
terminate: () => Promise;
};
export declare type Spawn = (fileName: string, config?: Config) => Task;
export declare type Worker = (handler: Handler, config?: Config) => Task;
export declare type Transfer = (handler: Handler, mapperFn: (result: R) => Array) => (payload: T1, workerData?: T2) => TransferResult;
export {};