import { Address, Hex, PublicClient, RpcTransactionRequest } from "viem"; type StateOverrides = { [address: Address]: { balance?: Hex; nonce?: Hex; code?: Hex; stateDiff?: { [slot: Hex]: Hex; }; }; }; /** * Call a contract with the given state overrides. * @param tx The transaction request. * @param overrides The state overrides. * @param publicClient A JSON RPC provider that supports `eth_call` with state overrides. * @param blockNumber Optional block number to use for the call. */ export declare function staticCallWithOverrides(tx: RpcTransactionRequest, overrides: StateOverrides, publicClient: PublicClient, blockNumber?: bigint): Promise; /** * Batch `eth_getStorageAt` RPC calls in a single `eth_call` by overriding the target contract's * deployed bytecode with `EphemeralStorageLens` * @param address The contract address to fetch storage from. * @param slots The storage slots to fetch. * @param publicClient A JSON RPC provider that supports `eth_call` with state overrides. * @param blockNumber Optional block number to query. */ export declare function getStorageAt(address: Address, slots: Hex[], publicClient: PublicClient, blockNumber?: bigint): Promise; export {};