import { Constructor } from '../../../../types/util';
import type AsyncProcess from '../abstract/asyncProcess';
import AsyncProcessPool from '../abstract/asyncProcessPool';
import type RootProcess from './rootProcess';
/**
 * @inheritdoc
 */
declare class RootProcessPool<Process extends RootProcess> extends AsyncProcessPool<MapProcessProvider<Process>, Process> {
    /**
     * Constructs instance
     * @param constructor process constructor
     * @param options additional options
     */
    constructor(constructor: Constructor<Process>, options: AsyncProcessPool.Options<Process>);
}
export default RootProcessPool;
type MapProcessProvider<Process extends RootProcess> = (context: AsyncProcessPool.Context, args: [...args: AsyncProcess.Arguments<Process>]) => AsyncProcessPool.ConstructedProcess<Process>;
