import type { Abi, ContractFunctionName, ContractFunctionReturnType } from "viem"; export type { Abi, AbiEvent, AbiFunction, ContractEventArgs, ContractEventName, ContractFunctionArgs, ContractFunctionName, ContractFunctionReturnType, } from "viem"; export type ReadFunctionName = ContractFunctionName; export type WriteFunctionName = ContractFunctionName; export type ExtractMulticallReturnType = TCall extends { readonly abi: infer TAbi; readonly functionName: infer TFunctionName; } ? TAbi extends Abi ? TFunctionName extends ContractFunctionName ? ContractFunctionReturnType : unknown : unknown : unknown; export type MulticallResultTypes = TCalls extends readonly [ infer TFirst, ...infer TRest ] ? readonly [ExtractMulticallReturnType, ...MulticallResultTypes] : readonly []; //# sourceMappingURL=abi.d.ts.map