import { CommunicationData, Communicator, Payload, Returning } from '../types'; import AbstractCommunicator from './AbstractCommunicator'; export declare type ParallelDataDistributor = (no: number, payload: Payload) => Payload; export declare type ParallelDataCombiner = (data: Returning[]) => Returning; export declare class ParallelCommunicator extends AbstractCommunicator implements Communicator { private parallelRemoteCommunicators; private distributor; private combiner; private communicationDataCache; constructor(parallelRemoteCommunicators: Communicator[], distributor: ParallelDataDistributor, combiner: ParallelDataCombiner); send(payload: Payload): void; close(): void; private prepare; }