/* Generated by ts-generator ver. 0.0.8 */ /* tslint:disable */ import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction } from 'ethers'; import { Contract, ContractTransaction, Overrides, PayableOverrides, CallOverrides } from '@ethersproject/contracts'; import {BytesLike} from '@ethersproject/bytes'; import {Listener, Provider} from '@ethersproject/providers'; import {FunctionFragment, EventFragment, Result} from '@ethersproject/abi'; interface UniswapV2Router02Interface extends ethers.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; }; encodeFunctionData(functionFragment: 'WETH', values?: undefined): string; encodeFunctionData( functionFragment: 'addLiquidity', values: [ string, string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish ] ): string; encodeFunctionData( functionFragment: 'addLiquidityETH', values: [ string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish ] ): string; encodeFunctionData(functionFragment: 'factory', values?: undefined): string; encodeFunctionData( functionFragment: 'getAmountIn', values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: 'getAmountOut', values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: 'getAmountsIn', values: [BigNumberish, string[]] ): string; encodeFunctionData( functionFragment: 'getAmountsOut', values: [BigNumberish, string[]] ): string; encodeFunctionData( functionFragment: 'quote', values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: 'removeLiquidity', values: [ string, string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish ] ): string; encodeFunctionData( functionFragment: 'removeLiquidityETH', values: [ string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish ] ): string; encodeFunctionData( functionFragment: 'removeLiquidityETHSupportingFeeOnTransferTokens', values: [ string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish ] ): string; encodeFunctionData( functionFragment: 'removeLiquidityETHWithPermit', values: [ string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish, boolean, BigNumberish, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: 'removeLiquidityETHWithPermitSupportingFeeOnTransferTokens', values: [ string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish, boolean, BigNumberish, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: 'removeLiquidityWithPermit', values: [ string, string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish, boolean, BigNumberish, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: 'swapETHForExactTokens', values: [BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'swapExactETHForTokens', values: [BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'swapExactETHForTokensSupportingFeeOnTransferTokens', values: [BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'swapExactTokensForETH', values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'swapExactTokensForETHSupportingFeeOnTransferTokens', values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'swapExactTokensForTokens', values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'swapExactTokensForTokensSupportingFeeOnTransferTokens', values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'swapTokensForExactETH', values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: 'swapTokensForExactTokens', values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): 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 class UniswapV2Router02 extends Contract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; on(event: EventFilter | string, listener: Listener): this; once(event: EventFilter | string, listener: Listener): this; addListener(eventName: EventFilter | string, listener: Listener): this; removeAllListeners(eventName: EventFilter | string): this; removeListener(eventName: any, listener: Listener): this; interface: UniswapV2Router02Interface; functions: { WETH( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'WETH()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; addLiquidity( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; addLiquidityETH( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'addLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; factory( overrides?: CallOverrides ): Promise<{ 0: string; }>; 'factory()'( overrides?: CallOverrides ): Promise<{ 0: string; }>; getAmountIn( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise<{ amountIn: BigNumber; 0: BigNumber; }>; 'getAmountIn(uint256,uint256,uint256)'( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise<{ amountIn: BigNumber; 0: BigNumber; }>; getAmountOut( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise<{ amountOut: BigNumber; 0: BigNumber; }>; 'getAmountOut(uint256,uint256,uint256)'( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise<{ amountOut: BigNumber; 0: BigNumber; }>; getAmountsIn( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise<{ amounts: BigNumber[]; 0: BigNumber[]; }>; 'getAmountsIn(uint256,address[])'( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise<{ amounts: BigNumber[]; 0: BigNumber[]; }>; getAmountsOut( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise<{ amounts: BigNumber[]; 0: BigNumber[]; }>; 'getAmountsOut(uint256,address[])'( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise<{ amounts: BigNumber[]; 0: BigNumber[]; }>; quote( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise<{ amountB: BigNumber; 0: BigNumber; }>; 'quote(uint256,uint256,uint256)'( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise<{ amountB: BigNumber; 0: BigNumber; }>; removeLiquidity( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETH( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETHSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETHWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityWithPermit( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; swapETHForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapETHForExactTokens(uint256,address[],address,uint256)'( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactETHForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapExactETHForTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactTokensForETH( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForETH(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapTokensForExactETH( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapTokensForExactETH(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapTokensForExactTokens( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapTokensForExactTokens(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; }; WETH(overrides?: CallOverrides): Promise; 'WETH()'(overrides?: CallOverrides): Promise; addLiquidity( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; addLiquidityETH( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'addLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; factory(overrides?: CallOverrides): Promise; 'factory()'(overrides?: CallOverrides): Promise; getAmountIn( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; 'getAmountIn(uint256,uint256,uint256)'( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; getAmountOut( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; 'getAmountOut(uint256,uint256,uint256)'( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; getAmountsIn( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; 'getAmountsIn(uint256,address[])'( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; getAmountsOut( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; 'getAmountsOut(uint256,address[])'( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; quote( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise; 'quote(uint256,uint256,uint256)'( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise; removeLiquidity( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETH( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETHSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETHWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityWithPermit( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; swapETHForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapETHForExactTokens(uint256,address[],address,uint256)'( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactETHForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapExactETHForTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactTokensForETH( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForETH(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapTokensForExactETH( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapTokensForExactETH(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapTokensForExactTokens( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapTokensForExactTokens(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; callStatic: { WETH(overrides?: CallOverrides): Promise; 'WETH()'(overrides?: CallOverrides): Promise; addLiquidity( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise<{ amountA: BigNumber; amountB: BigNumber; liquidity: BigNumber; 0: BigNumber; 1: BigNumber; 2: BigNumber; }>; 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise<{ amountA: BigNumber; amountB: BigNumber; liquidity: BigNumber; 0: BigNumber; 1: BigNumber; 2: BigNumber; }>; addLiquidityETH( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise<{ amountToken: BigNumber; amountETH: BigNumber; liquidity: BigNumber; 0: BigNumber; 1: BigNumber; 2: BigNumber; }>; 'addLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise<{ amountToken: BigNumber; amountETH: BigNumber; liquidity: BigNumber; 0: BigNumber; 1: BigNumber; 2: BigNumber; }>; factory(overrides?: CallOverrides): Promise; 'factory()'(overrides?: CallOverrides): Promise; getAmountIn( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; 'getAmountIn(uint256,uint256,uint256)'( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; getAmountOut( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; 'getAmountOut(uint256,uint256,uint256)'( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; getAmountsIn( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; 'getAmountsIn(uint256,address[])'( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; getAmountsOut( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; 'getAmountsOut(uint256,address[])'( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; quote( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise; 'quote(uint256,uint256,uint256)'( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise; removeLiquidity( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise<{ amountA: BigNumber; amountB: BigNumber; 0: BigNumber; 1: BigNumber; }>; 'removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise<{ amountA: BigNumber; amountB: BigNumber; 0: BigNumber; 1: BigNumber; }>; removeLiquidityETH( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise<{ amountToken: BigNumber; amountETH: BigNumber; 0: BigNumber; 1: BigNumber; }>; 'removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise<{ amountToken: BigNumber; amountETH: BigNumber; 0: BigNumber; 1: BigNumber; }>; removeLiquidityETHSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; removeLiquidityETHWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<{ amountToken: BigNumber; amountETH: BigNumber; 0: BigNumber; 1: BigNumber; }>; 'removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<{ amountToken: BigNumber; amountETH: BigNumber; 0: BigNumber; 1: BigNumber; }>; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise; 'removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise; removeLiquidityWithPermit( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<{ amountA: BigNumber; amountB: BigNumber; 0: BigNumber; 1: BigNumber; }>; 'removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise<{ amountA: BigNumber; amountB: BigNumber; 0: BigNumber; 1: BigNumber; }>; swapETHForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapETHForExactTokens(uint256,address[],address,uint256)'( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactETHForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapExactETHForTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactTokensForETH( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapExactTokensForETH(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactTokensForTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapExactTokensForTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapTokensForExactETH( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapTokensForExactETH(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapTokensForExactTokens( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; 'swapTokensForExactTokens(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; }; filters: {}; estimateGas: { WETH(overrides?: CallOverrides): Promise; 'WETH()'(overrides?: CallOverrides): Promise; addLiquidity( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; addLiquidityETH( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'addLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; factory(overrides?: CallOverrides): Promise; 'factory()'(overrides?: CallOverrides): Promise; getAmountIn( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; 'getAmountIn(uint256,uint256,uint256)'( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; getAmountOut( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; 'getAmountOut(uint256,uint256,uint256)'( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; getAmountsIn( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; 'getAmountsIn(uint256,address[])'( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; getAmountsOut( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; 'getAmountsOut(uint256,address[])'( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; quote( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise; 'quote(uint256,uint256,uint256)'( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise; removeLiquidity( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETH( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETHSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETHWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityWithPermit( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; swapETHForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapETHForExactTokens(uint256,address[],address,uint256)'( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactETHForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapExactETHForTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactTokensForETH( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForETH(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapTokensForExactETH( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapTokensForExactETH(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapTokensForExactTokens( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapTokensForExactTokens(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; }; populateTransaction: { WETH(overrides?: CallOverrides): Promise; 'WETH()'(overrides?: CallOverrides): Promise; addLiquidity( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; addLiquidityETH( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'addLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; factory(overrides?: CallOverrides): Promise; 'factory()'(overrides?: CallOverrides): Promise; getAmountIn( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; 'getAmountIn(uint256,uint256,uint256)'( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; getAmountOut( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; 'getAmountOut(uint256,uint256,uint256)'( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise; getAmountsIn( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; 'getAmountsIn(uint256,address[])'( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; getAmountsOut( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; 'getAmountsOut(uint256,address[])'( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise; quote( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise; 'quote(uint256,uint256,uint256)'( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise; removeLiquidity( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETH( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidityETH(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETHSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'removeLiquidityETHSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityETHWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityETHWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountETHMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityWithPermit( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; 'removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)'( tokenA: string, tokenB: string, liquidity: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; swapETHForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapETHForExactTokens(uint256,address[],address,uint256)'( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactETHForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapExactETHForTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactETHForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; 'swapExactETHForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)'( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactTokensForETH( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForETH(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForETHSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForTokensSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)'( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapTokensForExactETH( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapTokensForExactETH(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapTokensForExactTokens( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; 'swapTokensForExactTokens(uint256,uint256,address[],address,uint256)'( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; }; }