import { hexstring } from '@shardeum-foundation/lib-types';
import { SignedObject } from '@shardeum-foundation/lib-types/build/src/p2p/P2PTypes';
import { EventEmitter } from 'events';
import { Result } from 'neverthrow';
/**
 * A simple object that tells a joining node which cycle marker it has been
 * supposedly accepted on. AcceptanceOffers should be signed by active nodes
 * to verify their origin.
 */
export interface AcceptanceOffer {
    cycleMarker: hexstring;
    activeNodePublicKey: hexstring;
}
export declare function getEventEmitter(): EventEmitter;
export declare function reset(): void;
export declare function isAlreadyCheckingAcceptance(): boolean;
export declare function getHasConfirmedAcceptance(): boolean;
export declare function confirmAcceptance(offer: SignedObject<AcceptanceOffer>): Promise<Result<boolean, Error>>;
