/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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, PromiseOrValue, } from "../../../../common"; export interface IUniswapV2Router02Interface extends utils.Interface { functions: { "WETH()": FunctionFragment; "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)": FunctionFragment; "addLiquidityETH(address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "factory()": FunctionFragment; "getAmountIn(uint256,uint256,uint256)": FunctionFragment; "getAmountOut(uint256,uint256,uint256)": FunctionFragment; "getAmountsIn(uint256,address[])": FunctionFragment; "getAmountsOut(uint256,address[])": FunctionFragment; "quote(uint256,uint256,uint256)": FunctionFragment; "removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment; "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment; "removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment; "swapETHForExactTokens(uint256,address[],address,uint256)": FunctionFragment; "swapExactETHForTokens(uint256,address[],address,uint256)": FunctionFragment; "swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)": FunctionFragment; "swapExactTokensForETH(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapExactTokensForTokens(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapTokensForExactETH(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapTokensForExactTokens(uint256,uint256,address[],address,uint256)": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "WETH" | "addLiquidity" | "addLiquidityETH" | "factory" | "getAmountIn" | "getAmountOut" | "getAmountsIn" | "getAmountsOut" | "quote" | "removeLiquidity" | "removeLiquidityETH" | "removeLiquidityETHSupportingFeeOnTransferTokens" | "removeLiquidityETHWithPermit" | "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens" | "removeLiquidityWithPermit" | "swapETHForExactTokens" | "swapExactETHForTokens" | "swapExactETHForTokensSupportingFeeOnTransferTokens" | "swapExactTokensForETH" | "swapExactTokensForETHSupportingFeeOnTransferTokens" | "swapExactTokensForTokens" | "swapExactTokensForTokensSupportingFeeOnTransferTokens" | "swapTokensForExactETH" | "swapTokensForExactTokens" ): FunctionFragment; encodeFunctionData(functionFragment: "WETH", values?: undefined): string; encodeFunctionData( functionFragment: "addLiquidity", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "addLiquidityETH", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData( functionFragment: "getAmountIn", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "getAmountOut", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "getAmountsIn", values: [PromiseOrValue, PromiseOrValue[]] ): string; encodeFunctionData( functionFragment: "getAmountsOut", values: [PromiseOrValue, PromiseOrValue[]] ): string; encodeFunctionData( functionFragment: "quote", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "removeLiquidity", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "removeLiquidityETH", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "removeLiquidityETHSupportingFeeOnTransferTokens", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "removeLiquidityETHWithPermit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "removeLiquidityWithPermit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapETHForExactTokens", values: [ PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapExactETHForTokens", values: [ PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapExactETHForTokensSupportingFeeOnTransferTokens", values: [ PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapExactTokensForETH", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapExactTokensForETHSupportingFeeOnTransferTokens", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapExactTokensForTokens", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapExactTokensForTokensSupportingFeeOnTransferTokens", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapTokensForExactETH", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "swapTokensForExactTokens", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue, PromiseOrValue ] ): string; decodeFunctionResult(functionFragment: "WETH", data: BytesLike): Result; decodeFunctionResult( functionFragment: "addLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "addLiquidityETH", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getAmountIn", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAmountOut", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAmountsIn", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAmountsOut", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "quote", data: BytesLike): Result; decodeFunctionResult( functionFragment: "removeLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityETH", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityETHSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityETHWithPermit", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityWithPermit", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapETHForExactTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactETHForTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactETHForTokensSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactTokensForETH", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactTokensForETHSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactTokensForTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactTokensForTokensSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapTokensForExactETH", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapTokensForExactTokens", data: BytesLike ): Result; events: {}; } export interface IUniswapV2Router02 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IUniswapV2Router02Interface; 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: { WETH(overrides?: CallOverrides): Promise<[string]>; addLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, amountADesired: PromiseOrValue, amountBDesired: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; addLiquidityETH( token: PromiseOrValue, amountTokenDesired: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; factory(overrides?: CallOverrides): Promise<[string]>; getAmountIn( amountOut: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { amountIn: BigNumber }>; getAmountOut( amountIn: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { amountOut: BigNumber }>; getAmountsIn( amountOut: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise<[BigNumber[]] & { amounts: BigNumber[] }>; getAmountsOut( amountIn: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise<[BigNumber[]] & { amounts: BigNumber[] }>; quote( amountA: PromiseOrValue, reserveA: PromiseOrValue, reserveB: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { amountB: BigNumber }>; removeLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETH( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHWithPermit( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityWithPermit( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapETHForExactTokens( amountOut: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactETHForTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForETH( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapTokensForExactETH( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapTokensForExactTokens( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; WETH(overrides?: CallOverrides): Promise; addLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, amountADesired: PromiseOrValue, amountBDesired: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; addLiquidityETH( token: PromiseOrValue, amountTokenDesired: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; factory(overrides?: CallOverrides): Promise; getAmountIn( amountOut: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise; getAmountOut( amountIn: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise; getAmountsIn( amountOut: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise; getAmountsOut( amountIn: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise; quote( amountA: PromiseOrValue, reserveA: PromiseOrValue, reserveB: PromiseOrValue, overrides?: CallOverrides ): Promise; removeLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETH( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHWithPermit( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityWithPermit( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapETHForExactTokens( amountOut: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactETHForTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForETH( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapTokensForExactETH( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapTokensForExactTokens( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { WETH(overrides?: CallOverrides): Promise; addLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, amountADesired: PromiseOrValue, amountBDesired: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber; liquidity: BigNumber; } >; addLiquidityETH( token: PromiseOrValue, amountTokenDesired: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { amountToken: BigNumber; amountETH: BigNumber; liquidity: BigNumber; } >; factory(overrides?: CallOverrides): Promise; getAmountIn( amountOut: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise; getAmountOut( amountIn: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise; getAmountsIn( amountOut: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise; getAmountsOut( amountIn: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise; quote( amountA: PromiseOrValue, reserveA: PromiseOrValue, reserveB: PromiseOrValue, overrides?: CallOverrides ): Promise; removeLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber } >; removeLiquidityETH( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountToken: BigNumber; amountETH: BigNumber } >; removeLiquidityETHSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; removeLiquidityETHWithPermit( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountToken: BigNumber; amountETH: BigNumber } >; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: CallOverrides ): Promise; removeLiquidityWithPermit( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber } >; swapETHForExactTokens( amountOut: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; swapExactETHForTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; swapExactTokensForETH( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; swapExactTokensForTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; swapTokensForExactETH( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; swapTokensForExactTokens( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: {}; estimateGas: { WETH(overrides?: CallOverrides): Promise; addLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, amountADesired: PromiseOrValue, amountBDesired: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; addLiquidityETH( token: PromiseOrValue, amountTokenDesired: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; factory(overrides?: CallOverrides): Promise; getAmountIn( amountOut: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise; getAmountOut( amountIn: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise; getAmountsIn( amountOut: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise; getAmountsOut( amountIn: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise; quote( amountA: PromiseOrValue, reserveA: PromiseOrValue, reserveB: PromiseOrValue, overrides?: CallOverrides ): Promise; removeLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETH( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHWithPermit( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityWithPermit( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapETHForExactTokens( amountOut: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactETHForTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForETH( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapTokensForExactETH( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapTokensForExactTokens( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { WETH(overrides?: CallOverrides): Promise; addLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, amountADesired: PromiseOrValue, amountBDesired: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; addLiquidityETH( token: PromiseOrValue, amountTokenDesired: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; factory(overrides?: CallOverrides): Promise; getAmountIn( amountOut: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise; getAmountOut( amountIn: PromiseOrValue, reserveIn: PromiseOrValue, reserveOut: PromiseOrValue, overrides?: CallOverrides ): Promise; getAmountsIn( amountOut: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise; getAmountsOut( amountIn: PromiseOrValue, path: PromiseOrValue[], overrides?: CallOverrides ): Promise; quote( amountA: PromiseOrValue, reserveA: PromiseOrValue, reserveB: PromiseOrValue, overrides?: CallOverrides ): Promise; removeLiquidity( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETH( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHWithPermit( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: PromiseOrValue, liquidity: PromiseOrValue, amountTokenMin: PromiseOrValue, amountETHMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeLiquidityWithPermit( tokenA: PromiseOrValue, tokenB: PromiseOrValue, liquidity: PromiseOrValue, amountAMin: PromiseOrValue, amountBMin: PromiseOrValue, to: PromiseOrValue, deadline: PromiseOrValue, approveMax: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapETHForExactTokens( amountOut: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactETHForTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForETH( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: PromiseOrValue, amountOutMin: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapTokensForExactETH( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swapTokensForExactTokens( amountOut: PromiseOrValue, amountInMax: PromiseOrValue, path: PromiseOrValue[], to: PromiseOrValue, deadline: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; }