import { OpenMulticall } from './typechain'; import { Provider } from 'ethers'; interface PoolLog { token0: Buffer; token1: Buffer; address: Buffer; type: number; } export declare class OpenSwapCilent { rpcUrls: string[]; provider: Provider; chainId?: number; gasMax: bigint; multicallGasLimit: bigint; eventBlockStart: number; eventBlockEnd: number; openMulticall?: OpenMulticall; constructor(provider: Provider); pre(): Promise; getMulticallDataList(multicallList: { target: string; callData: string; }[]): Promise; getV2DataList(poolAddressList: string[]): Promise<{ reserve0: any; reserve1: any; }[]>; getV3DataList(poolAddressList: string[]): Promise<{ slot0: { sqrtPriceX96: bigint; tick: number; }; tickDatas: { tick: number; liquidityNet: bigint; }[]; liquidity: bigint; fee: bigint; }[]>; getPoolLogsData(fromBlock: number, toBlock: number): Promise; getV3AmountOut(amountIn: bigint, v3Data: { tickDatas: { tick: number; liquidityNet: bigint; }[]; slot0: { sqrtPriceX96: bigint; tick: number; }; liquidity: bigint; fee: bigint; }, zeroForOne: boolean): bigint; quoteV3AmountOut(amountIn: bigint, poolAddress: string, zeroForOne: boolean): Promise; getV2AmountOut(amountIn: bigint, v2Data: { reserve0: bigint; reserve1: bigint; }, zeroForOne: boolean): bigint; getV3PriceList(v3Data: { tickDatas: { tick: number; liquidityNet: bigint; }[]; slot0: { sqrtPriceX96: bigint; tick: number; }; liquidity: bigint; fee: bigint; }): { sqrtPriceX96: number; liquidityNet: string; }[]; getMulticallRpcs(): Promise<{ url: string; max: number; }[]>; tryAggregate(rpcUrl: string, requireSuccess: boolean, gasLimit: bigint, multicallList: OpenMulticall.CallStruct[]): Promise; openMulticallPost(rpcUrl: string, data: string): Promise; getPoolLogs(rpcUrl: string, fromBlock: number, toBlock: number): Promise; getAllPoolLogs(): Promise; getEventRpcs(): Promise<{ url: string; max: number; }[]>; getRpcsData(rpcs: { max: number; url: string; }[], callList: C[], func: (url: string, call: C[]) => Promise): Promise; } export {};