///
import * as stream from "stream";
import { Server } from "../../../../server";
import { ConfDTO } from "../../../lib/dto/ConfDTO";
import { DuniterService } from "../../../../index";
/**
* Service which triggers the server's peering generation (actualization of the Peer document).
* @constructor
*/
export declare class Crawler extends stream.Transform implements DuniterService {
private server;
private conf;
private logger;
peerCrawler: PeerCrawler;
peerTester: PeerTester;
blockCrawler: BlockCrawler;
sandboxCrawler: SandboxCrawler;
constructor(server: Server, conf: ConfDTO, logger: any);
pullBlocks(server: Server, pubkey?: string): Promise;
sandboxPull(server: Server): Promise;
startService(): Promise | Promise<[void, void, void, void]>;
stopService(): Promise | Promise<[void, void, void, void]>;
_write(str: string, enc: any, done: any): void;
}
export declare class PeerCrawler implements DuniterService {
private server;
private conf;
private logger;
private DONT_IF_MORE_THAN_FOUR_PEERS;
private crawlPeersInterval;
private crawlPeersFifo;
constructor(server: Server, conf: ConfDTO, logger: any);
startService(): Promise;
stopService(): Promise;
private crawlPeers;
private crawlPeer;
}
export declare class SandboxCrawler implements DuniterService {
private server;
private conf;
private logger;
private pullInterval;
private pullFifo;
constructor(server: Server, conf: ConfDTO, logger: any);
startService(): Promise;
stopService(): Promise;
sandboxPull(server: Server): Promise;
}
export declare class PeerTester implements DuniterService {
private server;
private conf;
private logger;
private FIRST_CALL;
private testPeerFifo;
private testPeerFifoInterval;
constructor(server: Server, conf: ConfDTO, logger: any);
startService(): Promise;
stopService(): Promise;
private testPeers;
private getWaitRemaining;
}
export declare class BlockCrawler {
private server;
private logger;
private CONST_BLOCKS_CHUNK;
private pullingActualIntervalDuration;
private programStart;
private syncBlockFifo;
private syncBlockInterval;
constructor(server: Server, logger: any);
startService(): Promise;
stopService(): Promise;
pullBlocks(server: Server, pubkey?: string): Promise;
private syncBlock;
private pullingEvent;
private isConnectionError;
}