///
import { BaseWeb3Client } from "../abstracts";
import { ITransactionReceipt, IBlockWithTransaction } from "../interfaces";
import { BlockHeader } from '@ethereumjs/block';
export declare class ProofUtil {
static getFastMerkleProof(web3: BaseWeb3Client, blockNumber: number, startBlock: number, endBlock: number): Promise;
static buildBlockProof(shibariumWeb3: BaseWeb3Client, startBlock: number, endBlock: number, blockNumber: number): Promise;
static queryRootHash(client: BaseWeb3Client, startBlock: number, endBlock: number): Promise;
static recursiveZeroHash(n: number, client: BaseWeb3Client): any;
static getReceiptProof(receipt: ITransactionReceipt, block: IBlockWithTransaction, web3: BaseWeb3Client, requestConcurrency?: number, receiptsVal?: ITransactionReceipt[]): Promise<{
blockHash: Buffer;
parentNodes: import("merkle-patricia-tree/dist/trieNode").EmbeddedNode[][];
root: Buffer;
path: Buffer;
value: Buffer;
}>;
static isTypedReceipt(receipt: ITransactionReceipt): boolean;
static getStateSyncTxHash(block: any): Buffer;
static getReceiptBytes(receipt: ITransactionReceipt): Buffer;
static getRawHeader(_block: any): BlockHeader;
}