/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-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 IJoeRouter02Interface extends ethers.utils.Interface { functions: { "WAVAX()": FunctionFragment; "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)": FunctionFragment; "addLiquidityAVAX(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; "removeLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "removeLiquidityAVAXSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)": FunctionFragment; "removeLiquidityAVAXWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment; "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment; "removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment; "swapAVAXForExactTokens(uint256,address[],address,uint256)": FunctionFragment; "swapExactAVAXForTokens(uint256,address[],address,uint256)": FunctionFragment; "swapExactAVAXForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)": FunctionFragment; "swapExactTokensForAVAX(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapExactTokensForAVAXSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapExactTokensForTokens(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapTokensForExactAVAX(uint256,uint256,address[],address,uint256)": FunctionFragment; "swapTokensForExactTokens(uint256,uint256,address[],address,uint256)": FunctionFragment; }; encodeFunctionData(functionFragment: "WAVAX", values?: undefined): string; encodeFunctionData( functionFragment: "addLiquidity", values: [ string, string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish ] ): string; encodeFunctionData( functionFragment: "addLiquidityAVAX", 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: "removeLiquidityAVAX", values: [ string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish ] ): string; encodeFunctionData( functionFragment: "removeLiquidityAVAXSupportingFeeOnTransferTokens", values: [ string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish ] ): string; encodeFunctionData( functionFragment: "removeLiquidityAVAXWithPermit", values: [ string, BigNumberish, BigNumberish, BigNumberish, string, BigNumberish, boolean, BigNumberish, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens", 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: "swapAVAXForExactTokens", values: [BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: "swapExactAVAXForTokens", values: [BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: "swapExactAVAXForTokensSupportingFeeOnTransferTokens", values: [BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: "swapExactTokensForAVAX", values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: "swapExactTokensForAVAXSupportingFeeOnTransferTokens", 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: "swapTokensForExactAVAX", values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): string; encodeFunctionData( functionFragment: "swapTokensForExactTokens", values: [BigNumberish, BigNumberish, string[], string, BigNumberish] ): string; decodeFunctionResult(functionFragment: "WAVAX", data: BytesLike): Result; decodeFunctionResult( functionFragment: "addLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "addLiquidityAVAX", 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: "removeLiquidityAVAX", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityAVAXSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityAVAXWithPermit", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityWithPermit", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapAVAXForExactTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactAVAXForTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactAVAXForTokensSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactTokensForAVAX", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactTokensForAVAXSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactTokensForTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapExactTokensForTokensSupportingFeeOnTransferTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapTokensForExactAVAX", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapTokensForExactTokens", data: BytesLike ): Result; events: {}; } export class IJoeRouter02 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: IJoeRouter02Interface; functions: { WAVAX(overrides?: CallOverrides): Promise<[string]>; "WAVAX()"(overrides?: CallOverrides): Promise<[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; addLiquidityAVAX( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "addLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; factory(overrides?: CallOverrides): Promise<[string]>; "factory()"(overrides?: CallOverrides): Promise<[string]>; getAmountIn( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { amountIn: BigNumber }>; "getAmountIn(uint256,uint256,uint256)"( amountOut: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { amountIn: BigNumber }>; getAmountOut( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { amountOut: BigNumber }>; "getAmountOut(uint256,uint256,uint256)"( amountIn: BigNumberish, reserveIn: BigNumberish, reserveOut: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { amountOut: BigNumber }>; getAmountsIn( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise<[BigNumber[]] & { amounts: BigNumber[] }>; "getAmountsIn(uint256,address[])"( amountOut: BigNumberish, path: string[], overrides?: CallOverrides ): Promise<[BigNumber[]] & { amounts: BigNumber[] }>; getAmountsOut( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise<[BigNumber[]] & { amounts: BigNumber[] }>; "getAmountsOut(uint256,address[])"( amountIn: BigNumberish, path: string[], overrides?: CallOverrides ): Promise<[BigNumber[]] & { amounts: BigNumber[] }>; quote( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { amountB: BigNumber }>; "quote(uint256,uint256,uint256)"( amountA: BigNumberish, reserveA: BigNumberish, reserveB: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { amountB: 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; removeLiquidityAVAX( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "removeLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityAVAXSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "removeLiquidityAVAXSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityAVAXWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "removeLiquidityAVAXWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: 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; swapAVAXForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapAVAXForExactTokens(uint256,address[],address,uint256)"( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactAVAXForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapExactAVAXForTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactAVAXForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapExactAVAXForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactTokensForAVAX( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapExactTokensForAVAX(uint256,uint256,address[],address,uint256)"( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForAVAXSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapExactTokensForAVAXSupportingFeeOnTransferTokens(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; swapTokensForExactAVAX( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapTokensForExactAVAX(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; }; WAVAX(overrides?: CallOverrides): Promise; "WAVAX()"(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; addLiquidityAVAX( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "addLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: 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; removeLiquidityAVAX( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "removeLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityAVAXSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "removeLiquidityAVAXSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityAVAXWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "removeLiquidityAVAXWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: 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; swapAVAXForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapAVAXForExactTokens(uint256,address[],address,uint256)"( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactAVAXForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapExactAVAXForTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactAVAXForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapExactAVAXForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactTokensForAVAX( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapExactTokensForAVAX(uint256,uint256,address[],address,uint256)"( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForAVAXSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapExactTokensForAVAXSupportingFeeOnTransferTokens(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; swapTokensForExactAVAX( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapTokensForExactAVAX(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: { WAVAX(overrides?: CallOverrides): Promise; "WAVAX()"(overrides?: CallOverrides): Promise; addLiquidity( tokenA: string, tokenB: string, amountADesired: BigNumberish, amountBDesired: BigNumberish, amountAMin: BigNumberish, amountBMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber; liquidity: 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< [BigNumber, BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber; liquidity: BigNumber; } >; addLiquidityAVAX( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { amountToken: BigNumber; amountAVAX: BigNumber; liquidity: BigNumber; } >; "addLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { amountToken: BigNumber; amountAVAX: BigNumber; liquidity: 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< [BigNumber, BigNumber] & { amountA: BigNumber; amountB: 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< [BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber } >; removeLiquidityAVAX( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountToken: BigNumber; amountAVAX: BigNumber } >; "removeLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountToken: BigNumber; amountAVAX: BigNumber } >; removeLiquidityAVAXSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; "removeLiquidityAVAXSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; removeLiquidityAVAXWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountToken: BigNumber; amountAVAX: BigNumber } >; "removeLiquidityAVAXWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountToken: BigNumber; amountAVAX: BigNumber } >; removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise; "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: 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< [BigNumber, BigNumber] & { amountA: BigNumber; amountB: 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< [BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber } >; swapAVAXForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; "swapAVAXForExactTokens(uint256,address[],address,uint256)"( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactAVAXForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; "swapExactAVAXForTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactAVAXForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; "swapExactAVAXForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactTokensForAVAX( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; "swapExactTokensForAVAX(uint256,uint256,address[],address,uint256)"( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactTokensForAVAXSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; "swapExactTokensForAVAXSupportingFeeOnTransferTokens(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; swapTokensForExactAVAX( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: CallOverrides ): Promise; "swapTokensForExactAVAX(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: { WAVAX(overrides?: CallOverrides): Promise; "WAVAX()"(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; addLiquidityAVAX( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "addLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: 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; removeLiquidityAVAX( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "removeLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityAVAXSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "removeLiquidityAVAXSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityAVAXWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "removeLiquidityAVAXWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: 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; swapAVAXForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapAVAXForExactTokens(uint256,address[],address,uint256)"( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactAVAXForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapExactAVAXForTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactAVAXForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapExactAVAXForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactTokensForAVAX( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapExactTokensForAVAX(uint256,uint256,address[],address,uint256)"( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForAVAXSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapExactTokensForAVAXSupportingFeeOnTransferTokens(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; swapTokensForExactAVAX( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapTokensForExactAVAX(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: { WAVAX(overrides?: CallOverrides): Promise; "WAVAX()"(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; addLiquidityAVAX( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "addLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, amountTokenDesired: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: 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; removeLiquidityAVAX( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "removeLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityAVAXSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "removeLiquidityAVAXSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; removeLiquidityAVAXWithPermit( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "removeLiquidityAVAXWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: BigNumberish, to: string, deadline: BigNumberish, approveMax: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)"( token: string, liquidity: BigNumberish, amountTokenMin: BigNumberish, amountAVAXMin: 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; swapAVAXForExactTokens( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapAVAXForExactTokens(uint256,address[],address,uint256)"( amountOut: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactAVAXForTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapExactAVAXForTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactAVAXForTokensSupportingFeeOnTransferTokens( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; "swapExactAVAXForTokensSupportingFeeOnTransferTokens(uint256,address[],address,uint256)"( amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: PayableOverrides ): Promise; swapExactTokensForAVAX( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapExactTokensForAVAX(uint256,uint256,address[],address,uint256)"( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; swapExactTokensForAVAXSupportingFeeOnTransferTokens( amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapExactTokensForAVAXSupportingFeeOnTransferTokens(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; swapTokensForExactAVAX( amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, deadline: BigNumberish, overrides?: Overrides ): Promise; "swapTokensForExactAVAX(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; }; }