/** * @internal * WorkerPool, T is is post message type, U is return type. */ export declare class WorkerPool { readonly limitedCount: number; private readonly _workerCreator; private _taskQueue; private _workerStatus; private _workerItems; /** * Constructor of WorkerPool. * @param limitedCount - worker limit count * @param _workerCreator - creator of worker */ constructor(limitedCount: number, _workerCreator: () => Worker | Promise); prepareWorker(): Promise; /** * Post message to worker. * @param message - Message which posted to worker * @returns Return a promise of message */ postMessage(message: T): Promise; /** * Destroy the worker pool. */ destroy(): void; private _initWorker; private _getIdleWorkerId; private _onMessage; private _nextTask; }