import { P2P } from '@shardeum-foundation/lib-types';
export declare let networkMode: P2P.ModesTypes.Record['mode'];
/** ROUTES */
/** FUNCTIONS */
/** CycleCreator Functions */
export declare function init(): void;
export declare function reset(): void;
export declare function getTxs(): P2P.ModesTypes.Txs;
export declare function dropInvalidTxs(txs: P2P.ModesTypes.Txs): P2P.ModesTypes.Txs;
export declare function updateRecord(txs: P2P.ModesTypes.Txs, record: P2P.CycleCreatorTypes.CycleRecord, prev: P2P.CycleCreatorTypes.CycleRecord): void;
export declare function validateRecordTypes(rec: P2P.ModesTypes.Record): string;
export declare function parseRecord(record: P2P.CycleCreatorTypes.CycleRecord): P2P.CycleParserTypes.Change;
export declare function queueRequest(): void;
export declare function sendRequests(): void;
/** Helper Functions */
export declare function enterRecovery(activeCount: number): boolean;
export declare function enterShutdown(activeCount: number): boolean;
export declare function enterSafety(activeCount: number): boolean;
export declare function enterProcessing(activeCount: number): boolean;
/** An internal tx is allowed to be processed if the network is in one of the modes mentioned in the function */
export declare function isInternalTxAllowed(): boolean;
export declare function enterRestore(totalNodeCount: number): boolean;
