type ReadContractOptions< abi extends Abi = [], method extends | AbiFunction | string | (( ) => Promise<AbiFunction>) = abi extends { length: 0 } ? AbiFunction | string : ExtractAbiFunctionNames<abi>, Omit<TransactionRequest, "from" | "to" | "data"> & { method: method; } & ParamsOption<ParseMethod<abi, method>> & abi>;