import { FinishedSyncingRequest } from '@shardeum-foundation/lib-types/build/src/p2p/JoinTypes';
import { P2P } from '@shardeum-foundation/lib-types';
export declare let newSyncFinishedNodes: Map<string, FinishedSyncingRequest>;
export interface FinishedSyncingRequestResponse {
    success: boolean;
    reason: string;
    fatal: boolean;
}
/**
 * Adds nodes to the local state synced node list.
 */
export declare function addFinishedSyncing(finishedSyncRequest: FinishedSyncingRequest): FinishedSyncingRequestResponse;
/**
 * Returns the list of new synced nodes info and empties the list.
 *
 * @returns SyncCompletedRequest[]
 */
export declare function drainFinishedSyncingRequest(): FinishedSyncingRequest[];
/**
 * Determines if a node is among the first N nodes in the pre-sorted list `readyByTimeAndIdOrder` when in 'processing' mode,
 * or within the entire list in other modes. The list is sorted by `readyTimestamp`, with `ID` as a tiebreaker.
 *
 * @param nodeId The ID of the node to check.
 * @returns True if the node is among the first N ready nodes in 'processing' mode or in the entire list in other modes, false otherwise.
 */
export declare function isNodeSelectedReadyList(nodeId: string): boolean;
export declare function selectNodesFromReadyList(mode: string): P2P.NodeListTypes.Node[];
