///
import { Contracts } from "@arkecosystem/core-kernel";
import { Interfaces } from "@arkecosystem/crypto";
export declare class PeerCommunicator implements Contracts.P2P.PeerCommunicator {
private readonly app;
private readonly configuration;
private readonly connector;
private readonly events;
private readonly logger;
private readonly createQueue;
private outgoingRateLimiter;
private postTransactionsQueueByIp;
initialize(): void;
postBlock(peer: Contracts.P2P.Peer, block: Interfaces.IBlock): Promise;
postTransactions(peer: Contracts.P2P.Peer, transactions: Buffer[]): Promise;
ping(peer: Contracts.P2P.Peer, timeoutMsec: number, force?: boolean, fast?: boolean): Promise;
pingPorts(peer: Contracts.P2P.Peer): Promise;
getPeers(peer: Contracts.P2P.Peer): Promise;
hasCommonBlocks(peer: Contracts.P2P.Peer, ids: string[], timeoutMsec?: number): Promise;
getPeerBlocks(peer: Contracts.P2P.Peer, { fromBlockHeight, blockLimit, headersOnly, }: {
fromBlockHeight: number;
blockLimit?: number;
headersOnly?: boolean;
}): Promise;
private validatePeerConfig;
private validateReply;
private emit;
private throttle;
private handleSocketError;
}
//# sourceMappingURL=peer-communicator.d.ts.map