import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; export declare namespace IV3SwapRouter { type ExactInputParamsStruct = { path: BytesLike; recipient: string; amountIn: BigNumberish; amountOutMinimum: BigNumberish; }; type ExactInputParamsStructOutput = [string, string, BigNumber, BigNumber] & { path: string; recipient: string; amountIn: BigNumber; amountOutMinimum: BigNumber; }; type ExactInputSingleParamsStruct = { tokenIn: string; tokenOut: string; fee: BigNumberish; recipient: string; amountIn: BigNumberish; amountOutMinimum: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type ExactInputSingleParamsStructOutput = [string, string, number, string, BigNumber, BigNumber, BigNumber] & { tokenIn: string; tokenOut: string; fee: number; recipient: string; amountIn: BigNumber; amountOutMinimum: BigNumber; sqrtPriceLimitX96: BigNumber; }; type ExactOutputParamsStruct = { path: BytesLike; recipient: string; amountOut: BigNumberish; amountInMaximum: BigNumberish; }; type ExactOutputParamsStructOutput = [string, string, BigNumber, BigNumber] & { path: string; recipient: string; amountOut: BigNumber; amountInMaximum: BigNumber; }; type ExactOutputSingleParamsStruct = { tokenIn: string; tokenOut: string; fee: BigNumberish; recipient: string; amountOut: BigNumberish; amountInMaximum: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type ExactOutputSingleParamsStructOutput = [ string, string, number, string, BigNumber, BigNumber, BigNumber ] & { tokenIn: string; tokenOut: string; fee: number; recipient: string; amountOut: BigNumber; amountInMaximum: BigNumber; sqrtPriceLimitX96: BigNumber; }; } export declare namespace IApproveAndCall { type IncreaseLiquidityParamsStruct = { token0: string; token1: string; tokenId: BigNumberish; amount0Min: BigNumberish; amount1Min: BigNumberish; }; type IncreaseLiquidityParamsStructOutput = [string, string, BigNumber, BigNumber, BigNumber] & { token0: string; token1: string; tokenId: BigNumber; amount0Min: BigNumber; amount1Min: BigNumber; }; type MintParamsStruct = { token0: string; token1: string; fee: BigNumberish; tickLower: BigNumberish; tickUpper: BigNumberish; amount0Min: BigNumberish; amount1Min: BigNumberish; recipient: string; }; type MintParamsStructOutput = [string, string, number, number, number, BigNumber, BigNumber, string] & { token0: string; token1: string; fee: number; tickLower: number; tickUpper: number; amount0Min: BigNumber; amount1Min: BigNumber; recipient: string; }; } export interface SwapRouter02Interface extends utils.Interface { functions: { 'WETH9()': FunctionFragment; 'approveMax(address)': FunctionFragment; 'approveMaxMinusOne(address)': FunctionFragment; 'approveZeroThenMax(address)': FunctionFragment; 'approveZeroThenMaxMinusOne(address)': FunctionFragment; 'callPositionManager(bytes)': FunctionFragment; 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)': FunctionFragment; 'checkOracleSlippage(bytes,uint24,uint32)': FunctionFragment; 'exactInput((bytes,address,uint256,uint256))': FunctionFragment; 'exactInputSingle((address,address,uint24,address,uint256,uint256,uint160))': FunctionFragment; 'exactOutput((bytes,address,uint256,uint256))': FunctionFragment; 'exactOutputSingle((address,address,uint24,address,uint256,uint256,uint160))': FunctionFragment; 'factory()': FunctionFragment; 'factoryV2()': FunctionFragment; 'getApprovalType(address,uint256)': FunctionFragment; 'increaseLiquidity((address,address,uint256,uint256,uint256))': FunctionFragment; 'mint((address,address,uint24,int24,int24,uint256,uint256,address))': FunctionFragment; 'multicall(bytes32,bytes[])': FunctionFragment; 'multicall(uint256,bytes[])': FunctionFragment; 'multicall(bytes[])': FunctionFragment; 'positionManager()': FunctionFragment; 'pull(address,uint256)': FunctionFragment; 'refundETH()': FunctionFragment; 'selfPermit(address,uint256,uint256,uint8,bytes32,bytes32)': FunctionFragment; 'selfPermitAllowed(address,uint256,uint256,uint8,bytes32,bytes32)': FunctionFragment; 'selfPermitAllowedIfNecessary(address,uint256,uint256,uint8,bytes32,bytes32)': FunctionFragment; 'selfPermitIfNecessary(address,uint256,uint256,uint8,bytes32,bytes32)': FunctionFragment; 'swapExactTokensForTokens(uint256,uint256,address[],address)': FunctionFragment; 'swapTokensForExactTokens(uint256,uint256,address[],address)': FunctionFragment; 'sweepToken(address,uint256,address)': FunctionFragment; 'sweepToken(address,uint256)': FunctionFragment; 'sweepTokenWithFee(address,uint256,uint256,address)': FunctionFragment; 'sweepTokenWithFee(address,uint256,address,uint256,address)': FunctionFragment; 'uniswapV3SwapCallback(int256,int256,bytes)': FunctionFragment; 'unwrapWETH9(uint256,address)': FunctionFragment; 'unwrapWETH9(uint256)': FunctionFragment; 'unwrapWETH9WithFee(uint256,address,uint256,address)': FunctionFragment; 'unwrapWETH9WithFee(uint256,uint256,address)': FunctionFragment; 'wrapETH(uint256)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'WETH9' | 'approveMax' | 'approveMaxMinusOne' | 'approveZeroThenMax' | 'approveZeroThenMaxMinusOne' | 'callPositionManager' | 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)' | 'checkOracleSlippage(bytes,uint24,uint32)' | 'exactInput' | 'exactInputSingle' | 'exactOutput' | 'exactOutputSingle' | 'factory' | 'factoryV2' | 'getApprovalType' | 'increaseLiquidity' | 'mint' | 'multicall(bytes32,bytes[])' | 'multicall(uint256,bytes[])' | 'multicall(bytes[])' | 'positionManager' | 'pull' | 'refundETH' | 'selfPermit' | 'selfPermitAllowed' | 'selfPermitAllowedIfNecessary' | 'selfPermitIfNecessary' | 'swapExactTokensForTokens' | 'swapTokensForExactTokens' | 'sweepToken(address,uint256,address)' | 'sweepToken(address,uint256)' | 'sweepTokenWithFee(address,uint256,uint256,address)' | 'sweepTokenWithFee(address,uint256,address,uint256,address)' | 'uniswapV3SwapCallback' | 'unwrapWETH9(uint256,address)' | 'unwrapWETH9(uint256)' | 'unwrapWETH9WithFee(uint256,address,uint256,address)' | 'unwrapWETH9WithFee(uint256,uint256,address)' | 'wrapETH'): FunctionFragment; encodeFunctionData(functionFragment: 'WETH9', values?: undefined): string; encodeFunctionData(functionFragment: 'approveMax', values: [string]): string; encodeFunctionData(functionFragment: 'approveMaxMinusOne', values: [string]): string; encodeFunctionData(functionFragment: 'approveZeroThenMax', values: [string]): string; encodeFunctionData(functionFragment: 'approveZeroThenMaxMinusOne', values: [string]): string; encodeFunctionData(functionFragment: 'callPositionManager', values: [BytesLike]): string; encodeFunctionData(functionFragment: 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)', values: [BytesLike[], BigNumberish[], BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'checkOracleSlippage(bytes,uint24,uint32)', values: [BytesLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'exactInput', values: [IV3SwapRouter.ExactInputParamsStruct]): string; encodeFunctionData(functionFragment: 'exactInputSingle', values: [IV3SwapRouter.ExactInputSingleParamsStruct]): string; encodeFunctionData(functionFragment: 'exactOutput', values: [IV3SwapRouter.ExactOutputParamsStruct]): string; encodeFunctionData(functionFragment: 'exactOutputSingle', values: [IV3SwapRouter.ExactOutputSingleParamsStruct]): string; encodeFunctionData(functionFragment: 'factory', values?: undefined): string; encodeFunctionData(functionFragment: 'factoryV2', values?: undefined): string; encodeFunctionData(functionFragment: 'getApprovalType', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'increaseLiquidity', values: [IApproveAndCall.IncreaseLiquidityParamsStruct]): string; encodeFunctionData(functionFragment: 'mint', values: [IApproveAndCall.MintParamsStruct]): string; encodeFunctionData(functionFragment: 'multicall(bytes32,bytes[])', values: [BytesLike, BytesLike[]]): string; encodeFunctionData(functionFragment: 'multicall(uint256,bytes[])', values: [BigNumberish, BytesLike[]]): string; encodeFunctionData(functionFragment: 'multicall(bytes[])', values: [BytesLike[]]): string; encodeFunctionData(functionFragment: 'positionManager', values?: undefined): string; encodeFunctionData(functionFragment: 'pull', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'refundETH', values?: undefined): string; encodeFunctionData(functionFragment: 'selfPermit', values: [string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'selfPermitAllowed', values: [string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'selfPermitAllowedIfNecessary', values: [string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'selfPermitIfNecessary', values: [string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'swapExactTokensForTokens', values: [BigNumberish, BigNumberish, string[], string]): string; encodeFunctionData(functionFragment: 'swapTokensForExactTokens', values: [BigNumberish, BigNumberish, string[], string]): string; encodeFunctionData(functionFragment: 'sweepToken(address,uint256,address)', values: [string, BigNumberish, string]): string; encodeFunctionData(functionFragment: 'sweepToken(address,uint256)', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'sweepTokenWithFee(address,uint256,uint256,address)', values: [string, BigNumberish, BigNumberish, string]): string; encodeFunctionData(functionFragment: 'sweepTokenWithFee(address,uint256,address,uint256,address)', values: [string, BigNumberish, string, BigNumberish, string]): string; encodeFunctionData(functionFragment: 'uniswapV3SwapCallback', values: [BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: 'unwrapWETH9(uint256,address)', values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: 'unwrapWETH9(uint256)', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'unwrapWETH9WithFee(uint256,address,uint256,address)', values: [BigNumberish, string, BigNumberish, string]): string; encodeFunctionData(functionFragment: 'unwrapWETH9WithFee(uint256,uint256,address)', values: [BigNumberish, BigNumberish, string]): string; encodeFunctionData(functionFragment: 'wrapETH', values: [BigNumberish]): string; decodeFunctionResult(functionFragment: 'WETH9', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approveMax', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approveMaxMinusOne', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approveZeroThenMax', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approveZeroThenMaxMinusOne', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'callPositionManager', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'checkOracleSlippage(bytes,uint24,uint32)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exactInput', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exactInputSingle', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exactOutput', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exactOutputSingle', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'factory', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'factoryV2', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getApprovalType', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'increaseLiquidity', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'mint', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'multicall(bytes32,bytes[])', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'multicall(uint256,bytes[])', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'multicall(bytes[])', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'positionManager', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'pull', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'refundETH', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'selfPermit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'selfPermitAllowed', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'selfPermitAllowedIfNecessary', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'selfPermitIfNecessary', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'swapExactTokensForTokens', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'swapTokensForExactTokens', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'sweepToken(address,uint256,address)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'sweepToken(address,uint256)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'sweepTokenWithFee(address,uint256,uint256,address)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'sweepTokenWithFee(address,uint256,address,uint256,address)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'uniswapV3SwapCallback', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'unwrapWETH9(uint256,address)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'unwrapWETH9(uint256)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'unwrapWETH9WithFee(uint256,address,uint256,address)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'unwrapWETH9WithFee(uint256,uint256,address)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'wrapETH', data: BytesLike): Result; events: {}; } export interface SwapRouter02 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: SwapRouter02Interface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { WETH9(overrides?: CallOverrides): Promise<[string]>; approveMax(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveMaxMinusOne(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveZeroThenMax(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveZeroThenMaxMinusOne(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; callPositionManager(data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)'(paths: BytesLike[], amounts: BigNumberish[], maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise<[void]>; 'checkOracleSlippage(bytes,uint24,uint32)'(path: BytesLike, maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise<[void]>; exactInput(params: IV3SwapRouter.ExactInputParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactInputSingle(params: IV3SwapRouter.ExactInputSingleParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactOutput(params: IV3SwapRouter.ExactOutputParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactOutputSingle(params: IV3SwapRouter.ExactOutputSingleParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; factory(overrides?: CallOverrides): Promise<[string]>; factoryV2(overrides?: CallOverrides): Promise<[string]>; getApprovalType(token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; increaseLiquidity(params: IApproveAndCall.IncreaseLiquidityParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; mint(params: IApproveAndCall.MintParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(bytes32,bytes[])'(previousBlockhash: BytesLike, data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(uint256,bytes[])'(deadline: BigNumberish, data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(bytes[])'(data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; positionManager(overrides?: CallOverrides): Promise<[string]>; pull(token: string, value: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; refundETH(overrides?: PayableOverrides & { from?: string; }): Promise; selfPermit(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitAllowed(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitAllowedIfNecessary(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitIfNecessary(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; swapExactTokensForTokens(amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, overrides?: PayableOverrides & { from?: string; }): Promise; swapTokensForExactTokens(amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepToken(address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepToken(address,uint256)'(token: string, amountMinimum: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepTokenWithFee(address,uint256,uint256,address)'(token: string, amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepTokenWithFee(address,uint256,address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; uniswapV3SwapCallback(amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string; }): Promise; 'unwrapWETH9(uint256,address)'(amountMinimum: BigNumberish, recipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9(uint256)'(amountMinimum: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9WithFee(uint256,address,uint256,address)'(amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9WithFee(uint256,uint256,address)'(amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; wrapETH(value: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; WETH9(overrides?: CallOverrides): Promise; approveMax(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveMaxMinusOne(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveZeroThenMax(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveZeroThenMaxMinusOne(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; callPositionManager(data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)'(paths: BytesLike[], amounts: BigNumberish[], maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise; 'checkOracleSlippage(bytes,uint24,uint32)'(path: BytesLike, maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise; exactInput(params: IV3SwapRouter.ExactInputParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactInputSingle(params: IV3SwapRouter.ExactInputSingleParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactOutput(params: IV3SwapRouter.ExactOutputParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactOutputSingle(params: IV3SwapRouter.ExactOutputSingleParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; factory(overrides?: CallOverrides): Promise; factoryV2(overrides?: CallOverrides): Promise; getApprovalType(token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; increaseLiquidity(params: IApproveAndCall.IncreaseLiquidityParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; mint(params: IApproveAndCall.MintParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(bytes32,bytes[])'(previousBlockhash: BytesLike, data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(uint256,bytes[])'(deadline: BigNumberish, data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(bytes[])'(data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; positionManager(overrides?: CallOverrides): Promise; pull(token: string, value: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; refundETH(overrides?: PayableOverrides & { from?: string; }): Promise; selfPermit(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitAllowed(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitAllowedIfNecessary(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitIfNecessary(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; swapExactTokensForTokens(amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, overrides?: PayableOverrides & { from?: string; }): Promise; swapTokensForExactTokens(amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepToken(address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepToken(address,uint256)'(token: string, amountMinimum: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepTokenWithFee(address,uint256,uint256,address)'(token: string, amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepTokenWithFee(address,uint256,address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; uniswapV3SwapCallback(amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string; }): Promise; 'unwrapWETH9(uint256,address)'(amountMinimum: BigNumberish, recipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9(uint256)'(amountMinimum: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9WithFee(uint256,address,uint256,address)'(amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9WithFee(uint256,uint256,address)'(amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; wrapETH(value: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; callStatic: { WETH9(overrides?: CallOverrides): Promise; approveMax(token: string, overrides?: CallOverrides): Promise; approveMaxMinusOne(token: string, overrides?: CallOverrides): Promise; approveZeroThenMax(token: string, overrides?: CallOverrides): Promise; approveZeroThenMaxMinusOne(token: string, overrides?: CallOverrides): Promise; callPositionManager(data: BytesLike, overrides?: CallOverrides): Promise; 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)'(paths: BytesLike[], amounts: BigNumberish[], maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise; 'checkOracleSlippage(bytes,uint24,uint32)'(path: BytesLike, maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise; exactInput(params: IV3SwapRouter.ExactInputParamsStruct, overrides?: CallOverrides): Promise; exactInputSingle(params: IV3SwapRouter.ExactInputSingleParamsStruct, overrides?: CallOverrides): Promise; exactOutput(params: IV3SwapRouter.ExactOutputParamsStruct, overrides?: CallOverrides): Promise; exactOutputSingle(params: IV3SwapRouter.ExactOutputSingleParamsStruct, overrides?: CallOverrides): Promise; factory(overrides?: CallOverrides): Promise; factoryV2(overrides?: CallOverrides): Promise; getApprovalType(token: string, amount: BigNumberish, overrides?: CallOverrides): Promise; increaseLiquidity(params: IApproveAndCall.IncreaseLiquidityParamsStruct, overrides?: CallOverrides): Promise; mint(params: IApproveAndCall.MintParamsStruct, overrides?: CallOverrides): Promise; 'multicall(bytes32,bytes[])'(previousBlockhash: BytesLike, data: BytesLike[], overrides?: CallOverrides): Promise; 'multicall(uint256,bytes[])'(deadline: BigNumberish, data: BytesLike[], overrides?: CallOverrides): Promise; 'multicall(bytes[])'(data: BytesLike[], overrides?: CallOverrides): Promise; positionManager(overrides?: CallOverrides): Promise; pull(token: string, value: BigNumberish, overrides?: CallOverrides): Promise; refundETH(overrides?: CallOverrides): Promise; selfPermit(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides): Promise; selfPermitAllowed(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides): Promise; selfPermitAllowedIfNecessary(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides): Promise; selfPermitIfNecessary(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides): Promise; swapExactTokensForTokens(amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, overrides?: CallOverrides): Promise; swapTokensForExactTokens(amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, overrides?: CallOverrides): Promise; 'sweepToken(address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, overrides?: CallOverrides): Promise; 'sweepToken(address,uint256)'(token: string, amountMinimum: BigNumberish, overrides?: CallOverrides): Promise; 'sweepTokenWithFee(address,uint256,uint256,address)'(token: string, amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: CallOverrides): Promise; 'sweepTokenWithFee(address,uint256,address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: CallOverrides): Promise; uniswapV3SwapCallback(amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike, overrides?: CallOverrides): Promise; 'unwrapWETH9(uint256,address)'(amountMinimum: BigNumberish, recipient: string, overrides?: CallOverrides): Promise; 'unwrapWETH9(uint256)'(amountMinimum: BigNumberish, overrides?: CallOverrides): Promise; 'unwrapWETH9WithFee(uint256,address,uint256,address)'(amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: CallOverrides): Promise; 'unwrapWETH9WithFee(uint256,uint256,address)'(amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: CallOverrides): Promise; wrapETH(value: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { WETH9(overrides?: CallOverrides): Promise; approveMax(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveMaxMinusOne(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveZeroThenMax(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveZeroThenMaxMinusOne(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; callPositionManager(data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)'(paths: BytesLike[], amounts: BigNumberish[], maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise; 'checkOracleSlippage(bytes,uint24,uint32)'(path: BytesLike, maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise; exactInput(params: IV3SwapRouter.ExactInputParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactInputSingle(params: IV3SwapRouter.ExactInputSingleParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactOutput(params: IV3SwapRouter.ExactOutputParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactOutputSingle(params: IV3SwapRouter.ExactOutputSingleParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; factory(overrides?: CallOverrides): Promise; factoryV2(overrides?: CallOverrides): Promise; getApprovalType(token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; increaseLiquidity(params: IApproveAndCall.IncreaseLiquidityParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; mint(params: IApproveAndCall.MintParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(bytes32,bytes[])'(previousBlockhash: BytesLike, data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(uint256,bytes[])'(deadline: BigNumberish, data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(bytes[])'(data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; positionManager(overrides?: CallOverrides): Promise; pull(token: string, value: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; refundETH(overrides?: PayableOverrides & { from?: string; }): Promise; selfPermit(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitAllowed(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitAllowedIfNecessary(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitIfNecessary(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; swapExactTokensForTokens(amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, overrides?: PayableOverrides & { from?: string; }): Promise; swapTokensForExactTokens(amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepToken(address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepToken(address,uint256)'(token: string, amountMinimum: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepTokenWithFee(address,uint256,uint256,address)'(token: string, amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepTokenWithFee(address,uint256,address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; uniswapV3SwapCallback(amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string; }): Promise; 'unwrapWETH9(uint256,address)'(amountMinimum: BigNumberish, recipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9(uint256)'(amountMinimum: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9WithFee(uint256,address,uint256,address)'(amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9WithFee(uint256,uint256,address)'(amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; wrapETH(value: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; populateTransaction: { WETH9(overrides?: CallOverrides): Promise; approveMax(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveMaxMinusOne(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveZeroThenMax(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; approveZeroThenMaxMinusOne(token: string, overrides?: PayableOverrides & { from?: string; }): Promise; callPositionManager(data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; 'checkOracleSlippage(bytes[],uint128[],uint24,uint32)'(paths: BytesLike[], amounts: BigNumberish[], maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise; 'checkOracleSlippage(bytes,uint24,uint32)'(path: BytesLike, maximumTickDivergence: BigNumberish, secondsAgo: BigNumberish, overrides?: CallOverrides): Promise; exactInput(params: IV3SwapRouter.ExactInputParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactInputSingle(params: IV3SwapRouter.ExactInputSingleParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactOutput(params: IV3SwapRouter.ExactOutputParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; exactOutputSingle(params: IV3SwapRouter.ExactOutputSingleParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; factory(overrides?: CallOverrides): Promise; factoryV2(overrides?: CallOverrides): Promise; getApprovalType(token: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; increaseLiquidity(params: IApproveAndCall.IncreaseLiquidityParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; mint(params: IApproveAndCall.MintParamsStruct, overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(bytes32,bytes[])'(previousBlockhash: BytesLike, data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(uint256,bytes[])'(deadline: BigNumberish, data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; 'multicall(bytes[])'(data: BytesLike[], overrides?: PayableOverrides & { from?: string; }): Promise; positionManager(overrides?: CallOverrides): Promise; pull(token: string, value: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; refundETH(overrides?: PayableOverrides & { from?: string; }): Promise; selfPermit(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitAllowed(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitAllowedIfNecessary(token: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; selfPermitIfNecessary(token: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; swapExactTokensForTokens(amountIn: BigNumberish, amountOutMin: BigNumberish, path: string[], to: string, overrides?: PayableOverrides & { from?: string; }): Promise; swapTokensForExactTokens(amountOut: BigNumberish, amountInMax: BigNumberish, path: string[], to: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepToken(address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepToken(address,uint256)'(token: string, amountMinimum: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepTokenWithFee(address,uint256,uint256,address)'(token: string, amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'sweepTokenWithFee(address,uint256,address,uint256,address)'(token: string, amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; uniswapV3SwapCallback(amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string; }): Promise; 'unwrapWETH9(uint256,address)'(amountMinimum: BigNumberish, recipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9(uint256)'(amountMinimum: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9WithFee(uint256,address,uint256,address)'(amountMinimum: BigNumberish, recipient: string, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; 'unwrapWETH9WithFee(uint256,uint256,address)'(amountMinimum: BigNumberish, feeBips: BigNumberish, feeRecipient: string, overrides?: PayableOverrides & { from?: string; }): Promise; wrapETH(value: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; }