import type { AbiStateMutability, Address } from 'abitype'; import type { Hex } from './misc.js'; import type { GetMulticallContractParameters } from './multicall.js'; import type { Assign, OneOf, Prettify } from './utils.js'; export type Call = {}> = OneOf | Assign, 'address'> & { data?: Hex | undefined; dataSuffix?: Hex | undefined; to: Address; value?: bigint | undefined; }, extraProperties>>; export type Calls = {}, result extends readonly any[] = []> = calls extends readonly [] ? readonly [] : calls extends readonly [infer call] ? readonly [...result, Prettify>] : calls extends readonly [infer call, ...infer rest] ? Calls<[ ...rest ], extraProperties, [ ...result, Prettify> ]> : readonly unknown[] extends calls ? calls : calls extends readonly (infer call extends OneOf>)[] ? readonly Prettify[] : readonly OneOf[]; export type Batches = {}, result extends readonly any[] = []> = batches extends readonly [infer batch extends { calls: readonly unknown[]; }] ? [...result, { calls: Calls; } & properties] : batches extends readonly [ infer batch extends { calls: readonly unknown[]; }, ...infer rest extends readonly { calls: readonly unknown[]; }[] ] ? Batches<[ ...rest ], properties, [ ...result, { calls: Calls; } & properties ]> : batches; //# sourceMappingURL=calls.d.ts.map