import { Result } from 'neverthrow';
import { hexstring } from '@shardeum-foundation/lib-types';
import { SignedUnjoinRequest } from '@shardeum-foundation/lib-types/build/src/p2p/JoinTypes';
/**
 * Submits a request to leave the network's standby node list.
 */
export declare function submitUnjoin(): Promise<Result<void, Error>>;
/**
 * Process a new unjoin request, adding it to the set of new unjoin requests
 * that will be recorded in the next cycle.
 *
 * Returns with an error if the unjoin request is invalid.
 */
export declare function processNewUnjoinRequest(unjoinRequest: SignedUnjoinRequest): Result<void, Error>;
/**
 * Validates an unjoin request by its signature.
 */
export declare function validateUnjoinRequest(unjoinRequest: SignedUnjoinRequest): Result<void, Error>;
export declare function drainNewUnjoinRequests(): SignedUnjoinRequest[];
export declare function deleteStandbyNode(publicKey: hexstring): void;
export declare function removeUnjoinRequest(publicKey: hexstring): void;
