import { Contracts } from "@arkecosystem/core-kernel"; import { Interfaces } from "@arkecosystem/crypto"; export declare class NetworkMonitor implements Contracts.P2P.NetworkMonitor { private readonly app; private readonly configuration; private readonly communicator; private readonly repository; private readonly chunkCache; private readonly events; private readonly logger; config: any; nextUpdateNetworkStatusScheduled: boolean | undefined; private coldStart; private downloadChunkSize; private initializing; initialize(): void; boot(): Promise; updateNetworkStatus(initialRun?: boolean): Promise; cleansePeers({ fast, forcePing, peerCount, }?: { fast?: boolean; forcePing?: boolean; peerCount?: number; }): Promise; discoverPeers(pingAll?: boolean): Promise; isColdStart(): boolean; completeColdStart(): void; getNetworkHeight(): number; getNetworkState(): Promise; refreshPeersAfterFork(): Promise; checkNetworkHealth(): Promise; downloadBlocksFromHeight(fromBlockHeight: number, maxParallelDownloads?: number): Promise; broadcastBlock(block: Interfaces.IBlock): Promise; private pingPeerPorts; private checkDNSConnectivity; private checkNTPConnectivity; private scheduleUpdateNetworkStatus; private hasMinimumPeers; private populateSeedPeers; private loadPeersFromUrlList; } //# sourceMappingURL=network-monitor.d.ts.map