import type { ContractError } from '@tevm/errors' import type { ContractFunctionName, DecodeFunctionResultReturnType } from '@tevm/utils' import type { Abi } from '../common/index.js' import type { CallResult } from './CallResult.js' export type ContractResult< TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends ContractFunctionName = ContractFunctionName, ErrorType = ContractError, > = | (Omit & { errors?: never /** * The parsed data */ data: DecodeFunctionResultReturnType }) | (CallResult & { data?: never })