import { ethers, Network, Pool, SDKOptions } from ".."; /** Single contract read: `call = [address, methodName, params?]`. */ export declare function call(provider: ethers.Signer, abi: any[], call: any[], options?: any): Promise; /** * Batch multiple contract reads through Multicall's `tryAggregate`. * Each call entry is `[address, methodName, params]`. When `requireSuccess` is false, * failing calls return `null` instead of reverting the whole batch. */ export declare function multicall(network: Network, provider: ethers.Signer, abi: any[], calls: any[], options?: any, requireSuccess?: boolean): Promise<(T | null)[]>; /** * Fluent helper for building a multicall and dispatching results into a typed object. * Use `.call(path, address, fn, params)` repeatedly, then `.execute()` returns the * populated object with results placed at the given lodash paths. */ export declare class Multicaller { network: Network; provider: ethers.Signer; abi: any[]; options: any; calls: any[]; paths: any[]; constructor(network: Network, provider: ethers.Signer, abi: any[]); call(path: any, address: any, fn: any, params?: any): Multicaller; execute(from?: any): Promise; } export declare const isSdkOptionsBoolean: (sdkOptions: SDKOptions) => sdkOptions is boolean; /** * Central executor for SDK transactions. Routes a (`to`, `data`, `txOptions`) tuple * through one of four paths depending on `pool.isDhedge` and `sdkOptions`: * - dHEDGE pool: `pool.poolLogic.execTransaction(...)` (or its gas estimate) * - non-dHEDGE/EOA: `pool.signer.sendTransaction(...)` (or its gas estimate) * Honours `sdkOptions.onlyGetTxData` (returns the encoded tx without sending), * `estimateGas` (returns gas + minAmountOut without sending), and * `useTraderAddressAsFrom` (forces the EOA path even for dHEDGE pools). */ export declare const getPoolTxOrGasEstimate: (pool: Pool, args: any[], sdkOptions: SDKOptions) => Promise;