import { P2P } from '@shardeum-foundation/lib-types';
/** ROUTES */
/** FUNCTIONS */
/** CycleCreator Functions */
export declare function init(): void;
export declare function reset(): void;
export declare function getTxs(): P2P.RotationTypes.Txs;
export declare function validateRecordTypes(rec: P2P.RotationTypes.Record): string;
export declare function dropInvalidTxs(txs: P2P.RotationTypes.Txs): P2P.RotationTypes.Txs;
/** Given the `txs` and `prev` cycle record, mutate the referenced `record` */
export declare function updateRecord(txs: P2P.RotationTypes.Txs & P2P.ApoptosisTypes.Txs, record: P2P.CycleCreatorTypes.CycleRecord, prev: P2P.CycleCreatorTypes.CycleRecord): void;
export declare function parseRecord(record: P2P.CycleCreatorTypes.CycleRecord): P2P.CycleParserTypes.Change;
export declare function queueRequest(): void;
export declare function sendRequests(): void;
/** Module Functions */
/** Returns the number of expired nodes and the list of removed nodes */
export declare function getExpiredRemoved(start: P2P.CycleCreatorTypes.CycleRecord['start'], desired: P2P.CycleCreatorTypes.CycleRecord['desired'], txs: P2P.RotationTypes.Txs & P2P.ApoptosisTypes.Txs): {
    expired: number;
    removed: string[];
};
