import { JsonRpcProvider, Wallet, ethers } from 'ethers'; type RpcSource = JsonRpcProvider | Wallet | string; export declare class OnchainHelpers { private provider; constructor(rpcSource: RpcSource); private generateProvider; getFinalizedBlockHeight(): Promise; getCrossDomainMessageFromTx(tx: string, l1MessageQueueProxyAddress: string): Promise<{ queueIndex: number; l2TxHash: string; }>; getPendingQueueIndex(l1MessageQueueProxyAddress: string): Promise; getGasOracleL2BaseFee(l1MessageQueueProxyAddress: string): Promise; awaitTx(txHash: string, timeout?: number): Promise; constructBlockExplorerUrl(value: string, type: LookupType, params?: BlockExplorerParams): Promise; txLink(txHash: string, params?: BlockExplorerParams): Promise; addressLink(address: string, params?: BlockExplorerParams): Promise; } export declare enum LookupType { TX = "tx", ADDRESS = "address" } export interface BlockExplorerParams { chainId?: number; blockExplorerURI?: string; } export declare const l1ETHGatewayABI: { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: never[]; stateMutability: string; type: string; }[]; export {};