import { ethers as EthersT } from "ethers"; import { type MinimalProvider } from "./provider.js"; export declare enum FhevmMockProviderType { Unknown = 0, Hardhat = 1, HardhatNode = 2, Anvil = 3, SepoliaEthereumTestnet = 4, EthereumMainnet = 5 } export type FhevmMockProviderMethods = { setCode?: string; impersonateAccount?: string; setBalance?: string; }; export type FhevmMockProviderInfo = { web3ClientVersion: string; chainId: number; url: string | undefined; networkName: string; type: FhevmMockProviderType; methods: FhevmMockProviderMethods; }; export declare class FhevmMockProvider { #private; static fromReadonlyProvider(readonlyProvider: EthersT.Provider & MinimalProvider, networkName: string, defaultProviderType: FhevmMockProviderType | undefined, defaultChainId: number | undefined, url: string | undefined): Promise; static create(minimalProvider: MinimalProvider, readonlyEthersProvider: EthersT.Provider | undefined, networkName: string, defaultProviderType: FhevmMockProviderType | undefined, defaultChainId: number | undefined, url: string | undefined): Promise; setDebugFunc(debugFunc: (message: string) => void): void; get readonlyEthersProvider(): EthersT.Provider; get minimalProvider(): MinimalProvider; get info(): FhevmMockProviderInfo; get isMock(): boolean; get isEthereum(): boolean; get isSepoliaEthereumTestnet(): boolean; get isEthereumMainnet(): boolean; get isHardhatWeb3Client(): boolean; get chainId(): number; impersonateAddressAndSetBalance(address: string, balance: bigint): Promise; setCodeAt(address: string, byteCode: string): Promise; send(method: string, params?: any[]): Promise; getCodeAt(address: string): Promise; getBlockNumber(): Promise; unsetTemporaryMinimumBlockGasLimit(): Promise; setTemporaryMinimumBlockGasLimit(minBlockGasLimit: bigint): Promise; setBlockGasLimit(blockGasLimit: bigint): Promise; getBlockGasLimit(): Promise; private _debug; } //# sourceMappingURL=FhevmMockProvider.d.ts.map