import { Contract } from '../common/types'; import { Abi, AbiFunction, ContractFunctionName } from 'viem'; export type Iterableify = { [K in keyof T]: Iterable; }; export declare function zip(...toZip: Iterableify): Generator; export declare function getAbiFunction(abi: Abi, functionName: string): AbiFunction; export declare function getFunctionNamesFromAbi(abi: Abi, functionType: 'read' | 'simulate'): string[]; export declare function getFunctionFromContract>(contract: C, functionType: 'read' | 'simulate', functionName: ContractFunctionName): ((...parameters: [options?: Omit, "address" | "functionName" | "args" | "abi"> | undefined] | [args: readonly unknown[], options?: Omit, "address" | "functionName" | "args" | "abi"> | undefined]) => Promise) | ((...parameters: [options?: import("viem").Prettify, "address" | "functionName" | "args" | "abi">> | undefined] | [args: readonly unknown[], options?: import("viem").Prettify, "address" | "functionName" | "args" | "abi">> | undefined]) => Promise);