import { MerklePatriciaTrie } from '@ethereumjs/mpt';
import { type Common } from '@ethereumjs/common';
import type { TypedTransaction } from '@ethereumjs/tx';
import type { CLRequest, CLRequestType, PrefixedHexString, Withdrawal } from '@ethereumjs/util';
import type { BlockHeaderBytes, HeaderData } from './types.ts';
/**
 * Returns a 0x-prefixed hex number string from a hex string or string integer.
 * @param {string} input string to check, convert, and return
 */
export declare const numberToHex: (input?: string) => PrefixedHexString | undefined;
/**
 * Converts the canonical byte-array representation of a header into structured {@link HeaderData}.
 * @param values Header field values in canonical order
 * @returns Parsed header data
 */
export declare function valuesArrayToHeaderData(values: BlockHeaderBytes): HeaderData;
/**
 * Retrieves the header difficulty as a bigint if the field is provided.
 * @param headerData Header data potentially containing a difficulty value
 * @returns Difficulty as bigint, or `null` when unset
 */
export declare function getDifficulty(headerData: HeaderData): bigint | null;
/**
 * Counts the total number of blob commitments contained in the provided transactions.
 * @param transactions Transactions to inspect for blob data
 * @returns Number of blob versioned hashes referenced
 */
export declare const getNumBlobs: (transactions: TypedTransaction[]) => number;
/**
 * Approximates `factor * e ** (numerator / denominator)` using Taylor expansion
 */
export declare const fakeExponential: (factor: bigint, numerator: bigint, denominator: bigint) => bigint;
/**
 * Returns the blob gas price depending upon the `excessBlobGas` value
 * @param excessBlobGas
 * @param common
 */
export declare const computeBlobGasPrice: (excessBlobGas: bigint, common: Common) => bigint;
/**
 * Returns the withdrawals trie root for array of Withdrawal.
 * @param wts array of Withdrawal to compute the root of
 * @param emptyTrie Optional trie used to generate the root
 */
export declare function genWithdrawalsTrieRoot(wts: Withdrawal[], emptyTrie?: MerklePatriciaTrie): Promise<Uint8Array<ArrayBufferLike>>;
/**
 * Returns the txs trie root for array of TypedTransaction
 * @param txs array of TypedTransaction to compute the root of
 * @param emptyTrie Optional trie used to generate the root
 */
export declare function genTransactionsTrieRoot(txs: TypedTransaction[], emptyTrie?: MerklePatriciaTrie): Promise<Uint8Array<ArrayBufferLike>>;
/**
 * Returns the requests trie root for an array of CLRequests
 * @param requests - an array of CLRequests
 * @param sha256Function Hash function used to derive the requests root
 * @param emptyTrie optional empty trie used to generate the root
 * @returns a 32 byte Uint8Array representing the requests trie root
 */
export declare function genRequestsRoot(requests: CLRequest<CLRequestType>[], sha256Function: (msg: Uint8Array) => Uint8Array): Uint8Array<ArrayBufferLike>;
//# sourceMappingURL=helpers.d.ts.map