import { BeaconState, Epoch, Gwei, Slot, SyncPeriod } from "@lodestar/types"; import { CachedBeaconStateElectra, CachedBeaconStateGloas } from "../types.js"; /** * Return the epoch number at the given slot. */ export declare function computeEpochAtSlot(slot: Slot): Epoch; /** * Return the epoch at the state slot for purposes of checkpoint. * Ideally this slot % SLOTS_PER_EPOCH === 0, but just to handle the improbable case of * non boundary slot, using ceil so that the state's latestBlockHeader would always * lie before this epooch */ export declare function computeCheckpointEpochAtStateSlot(slot: Slot): Epoch; /** * Return the starting slot of the given epoch. */ export declare function computeStartSlotAtEpoch(epoch: Epoch): Slot; /** * Return the end slot of the given epoch. */ export declare function computeEndSlotAtEpoch(epoch: Epoch): Slot; /** * Return the epoch at which an activation or exit triggered in ``epoch`` takes effect. */ export declare function computeActivationExitEpoch(epoch: Epoch): Epoch; export declare function computeExitEpochAndUpdateChurn(state: CachedBeaconStateElectra | CachedBeaconStateGloas, exitBalance: Gwei): number; export declare function computeConsolidationEpochAndUpdateChurn(state: CachedBeaconStateElectra | CachedBeaconStateGloas, consolidationBalance: Gwei): number; /** * Return the current epoch of the given state. */ export declare function getCurrentEpoch(state: Pick): Epoch; /** * Return the previous epoch of the given state. */ export declare function getPreviousEpoch(state: Pick): Epoch; /** * Return the sync committee period at slot */ export declare function computeSyncPeriodAtSlot(slot: Slot): SyncPeriod; /** * Return the sync committee period at epoch */ export declare function computeSyncPeriodAtEpoch(epoch: Epoch): SyncPeriod; /** * Determine if the given slot is start slot of an epoch */ export declare function isStartSlotOfEpoch(slot: Slot): boolean; //# sourceMappingURL=epoch.d.ts.map