Type alias MulticallContracts<TContracts, TProperties, Result, Depth>
MulticallContracts<TContracts, TProperties, Result, Depth>: Depth["length"] extends MAXIMUM_DEPTH    ? (ContractFunctionConfig & TProperties)[]    : TContracts extends []        ? []        : TContracts extends [infer  Head extends MulticallContract]            ? [...Result, ContractFunctionConfig<Head["abi"], Head["functionName"]> & TProperties]            : TContracts extends [infer  Head extends MulticallContract, ...(infer  Tail extends readonly MulticallContract[])]                ? MulticallContracts<[...Tail], TProperties, [...Result, ContractFunctionConfig<Head["abi"], Head["functionName"]> & TProperties], [...Depth, 1]>                : unknown[] extends TContracts                    ? TContracts                    : TContracts extends ContractFunctionConfig<infer  TAbi, infer  TFunctionName>[]                        ? (ContractFunctionConfig<TAbi, TFunctionName> & TProperties)[]                        : (ContractFunctionConfig & TProperties)[] Type Parameters
TProperties extends Record<string, any> = object
Result extends any[] = []
Depth extends readonly number[] = []