import { CachedBeaconStateAllForks, CachedBeaconStateGloas } from "@lodestar/state-transition";
import { BeaconBlock, BlindedBeaconBlock, Gwei, Root, gloas } from "@lodestar/types";
import { Metrics } from "../../metrics/index.js";
/**
 * Instead of running fastStateTransition(), only need to process block since
 * state is processed until block.slot already (this is to avoid double
 * epoch transition which happen at slot % 32 === 0)
 */
export declare function computeNewStateRoot(metrics: Metrics | null, state: CachedBeaconStateAllForks, block: BeaconBlock | BlindedBeaconBlock): {
    newStateRoot: Root;
    proposerReward: Gwei;
    postState: CachedBeaconStateAllForks;
};
/**
 * Compute the state root after processing an execution payload envelope.
 * Similar to `computeNewStateRoot` but for payload envelope processing.
 *
 */
export declare function computeEnvelopeStateRoot(metrics: Metrics | null, postBlockState: CachedBeaconStateGloas, envelope: gloas.ExecutionPayloadEnvelope): Root;
//# sourceMappingURL=computeNewStateRoot.d.ts.map