export interface EthereumProvider { send(method: 'anvil_metadata', params: []): Promise; send(method: 'hardhat_metadata', params: []): Promise; send(method: 'web3_clientVersion', params: []): Promise; send(method: 'net_version', params: []): Promise; send(method: 'eth_chainId', params: []): Promise; send(method: 'eth_instanceId', params: []): Promise; send(method: 'eth_getCode', params: [string, string]): Promise; send(method: 'eth_call', params: unknown[]): Promise; send(method: 'eth_getStorageAt', params: [string, string, string]): Promise; send(method: 'eth_getTransactionByHash', params: [string]): Promise; send(method: 'eth_getTransactionReceipt', params: [string]): Promise; send(method: string, params: unknown[]): Promise; } export interface HardhatMetadata { clientVersion: string; chainId: number; instanceId: string; forkedNetwork?: { chainId: number; } | null; } interface EthereumTransaction { blockHash: string | null; input: string; } interface EthereumTransactionReceipt { status: string; to: string | null; from: string; blockHash: string; blockNumber: string; transactionHash: string; transactionIndex: string; } export declare function getNetworkId(provider: EthereumProvider): Promise; export declare function getChainId(provider: EthereumProvider): Promise; export declare function getClientVersion(provider: EthereumProvider): Promise; /** * Gets Hardhat metadata when used with Hardhat 2.12.3 or later. * The underlying provider will throw an error if this RPC method is not available. */ export declare function getHardhatMetadata(provider: EthereumProvider): Promise; /** * Anvil could have anvil_metadata, for which hardhat_metadata is an alias. */ export declare function getAnvilMetadata(provider: EthereumProvider): Promise; export declare function getStorageAt(provider: EthereumProvider, address: string, position: string, block?: string): Promise; export declare function getCode(provider: EthereumProvider, address: string, block?: string): Promise; export declare function call(provider: EthereumProvider, address: string, data: string, block?: string): Promise; export declare function hasCode(provider: EthereumProvider, address: string, block?: string): Promise; export declare function isEmpty(code: string): boolean; export declare function getTransactionByHash(provider: EthereumProvider, txHash: string): Promise; export declare function getTransactionReceipt(provider: EthereumProvider, txHash: string): Promise; export declare const networkNames: { [chainId in number]?: string; }; export declare function isDevelopmentNetwork(provider: EthereumProvider): Promise; export declare function isReceiptSuccessful(receipt: Pick): boolean; export {}; //# sourceMappingURL=provider.d.ts.map