/**
 * SyncV2 a p2p module that contains all of the functionality for the new
 * Node List Sync v2.
 */
import { ResultAsync } from 'neverthrow';
import { P2P } from '@shardeum-foundation/lib-types';
import Shardus from '../../shardus';
/** Initializes logging and endpoints for Sync V2. */
export declare function init(): void;
/**
 * This function synchronizes nodes, archivers and cycle records.
 *
 * @export
 * @param {P2P.SyncTypes.ActiveNode[]} activeNodes - An array of active nodes that can be queried for synchronization. The function first synchronizes the validator list, the archiver list, and then the latest cycle record respectively.
 *
 * Only active nodes are added to the NodeList, and all the archivers are added to the Archivers list.
 * The cycle record is then appended to the CycleChain.
 *
 * @returns {ResultAsync<void, Error>} - A ResultAsync object. On success, it will contain void and on
 * error, it will contain an Error object. The function is asynchronous and can be awaited.
 */
export declare function syncV2(activeNodes: P2P.SyncTypes.ActiveNode[], shardus: Shardus): ResultAsync<void, Error>;
