import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; export declare namespace RouteHelper { type RoutePoolStruct = { pool: string; tokenA: string; tokenB: string; poolType: BigNumberish; reserveA: BigNumberish; reserveB: BigNumberish; swapFeeAB: BigNumberish; swapFeeBA: BigNumberish; }; type RoutePoolStructOutput = [string, string, string, number, BigNumber, BigNumber, number, number] & { pool: string; tokenA: string; tokenB: string; poolType: number; reserveA: BigNumber; reserveB: BigNumber; swapFeeAB: number; swapFeeBA: number; }; type RoutePoolsStruct = { poolsDirect: RouteHelper.RoutePoolStruct[]; poolsA: RouteHelper.RoutePoolStruct[]; poolsB: RouteHelper.RoutePoolStruct[]; poolsBase: RouteHelper.RoutePoolStruct[]; }; type RoutePoolsStructOutput = [ RouteHelper.RoutePoolStructOutput[], RouteHelper.RoutePoolStructOutput[], RouteHelper.RoutePoolStructOutput[], RouteHelper.RoutePoolStructOutput[] ] & { poolsDirect: RouteHelper.RoutePoolStructOutput[]; poolsA: RouteHelper.RoutePoolStructOutput[]; poolsB: RouteHelper.RoutePoolStructOutput[]; poolsBase: RouteHelper.RoutePoolStructOutput[]; }; } export interface RouteHelperInterface extends utils.Interface { functions: { 'getRoutePools(address,address,address[],address[],address,address)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'getRoutePools'): FunctionFragment; encodeFunctionData(functionFragment: 'getRoutePools', values: [string, string, string[], string[], string, string]): string; decodeFunctionResult(functionFragment: 'getRoutePools', data: BytesLike): Result; events: {}; } export interface RouteHelper extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: RouteHelperInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { getRoutePools(tokenA: string, tokenB: string, factories: string[], baseTokens: string[], master: string, account: string, overrides?: CallOverrides): Promise<[ RouteHelper.RoutePoolsStructOutput ] & { routePools: RouteHelper.RoutePoolsStructOutput; }>; }; getRoutePools(tokenA: string, tokenB: string, factories: string[], baseTokens: string[], master: string, account: string, overrides?: CallOverrides): Promise; callStatic: { getRoutePools(tokenA: string, tokenB: string, factories: string[], baseTokens: string[], master: string, account: string, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { getRoutePools(tokenA: string, tokenB: string, factories: string[], baseTokens: string[], master: string, account: string, overrides?: CallOverrides): Promise; }; populateTransaction: { getRoutePools(tokenA: string, tokenB: string, factories: string[], baseTokens: string[], master: string, account: string, overrides?: CallOverrides): Promise; }; }