import { Signature } from "@chainsafe/blst";
import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
import { Slot, capella } from "@lodestar/types";
import { AggregateFast, AggregateFastElectra } from "./attestationPool.js";
/**
 * Prune a Map indexed by slot to keep the most recent slots, up to `slotsRetained`
 */
export declare function pruneBySlot(map: Map<Slot, unknown>, slot: Slot, slotsRetained: Slot): Slot;
/**
 * De-serialize bytes into Signature.
 * No need to verify Signature is valid, already run sig-verify = false
 */
export declare function signatureFromBytesNoCheck(signature: Uint8Array): Signature;
/**
 * Ensures that a SignedBLSToExecutionChange object is _still_ valid for block inclusion. An object valid for the pool,
 * can become invalid for certain forks.
 */
export declare function isValidBlsToExecutionChangeForBlockInclusion(state: CachedBeaconStateAllForks, signedBLSToExecutionChange: capella.SignedBLSToExecutionChange): boolean;
export declare function isElectraAggregate(aggregate: AggregateFast): aggregate is AggregateFastElectra;
//# sourceMappingURL=utils.d.ts.map