import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; export declare namespace ISwapRouter { type ExactInputParamsStruct = { path: BytesLike; recipient: AddressLike; deadline: BigNumberish; amountIn: BigNumberish; amountOutMinimum: BigNumberish; }; type ExactInputParamsStructOutput = [ path: string, recipient: string, deadline: bigint, amountIn: bigint, amountOutMinimum: bigint ] & { path: string; recipient: string; deadline: bigint; amountIn: bigint; amountOutMinimum: bigint; }; type ExactInputSingleParamsStruct = { tokenIn: AddressLike; tokenOut: AddressLike; fee: BigNumberish; recipient: AddressLike; deadline: BigNumberish; amountIn: BigNumberish; amountOutMinimum: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type ExactInputSingleParamsStructOutput = [ tokenIn: string, tokenOut: string, fee: bigint, recipient: string, deadline: bigint, amountIn: bigint, amountOutMinimum: bigint, sqrtPriceLimitX96: bigint ] & { tokenIn: string; tokenOut: string; fee: bigint; recipient: string; deadline: bigint; amountIn: bigint; amountOutMinimum: bigint; sqrtPriceLimitX96: bigint; }; type ExactOutputParamsStruct = { path: BytesLike; recipient: AddressLike; deadline: BigNumberish; amountOut: BigNumberish; amountInMaximum: BigNumberish; }; type ExactOutputParamsStructOutput = [ path: string, recipient: string, deadline: bigint, amountOut: bigint, amountInMaximum: bigint ] & { path: string; recipient: string; deadline: bigint; amountOut: bigint; amountInMaximum: bigint; }; type ExactOutputSingleParamsStruct = { tokenIn: AddressLike; tokenOut: AddressLike; fee: BigNumberish; recipient: AddressLike; deadline: BigNumberish; amountOut: BigNumberish; amountInMaximum: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type ExactOutputSingleParamsStructOutput = [ tokenIn: string, tokenOut: string, fee: bigint, recipient: string, deadline: bigint, amountOut: bigint, amountInMaximum: bigint, sqrtPriceLimitX96: bigint ] & { tokenIn: string; tokenOut: string; fee: bigint; recipient: string; deadline: bigint; amountOut: bigint; amountInMaximum: bigint; sqrtPriceLimitX96: bigint; }; } export interface UniswapV3RouterInterface extends Interface { getFunction(nameOrSignature: "WETH9" | "exactInput" | "exactInputSingle" | "exactOutput" | "exactOutputSingle" | "factory" | "multicall" | "refundETH" | "selfPermit" | "selfPermitAllowed" | "selfPermitAllowedIfNecessary" | "selfPermitIfNecessary" | "sweepToken" | "sweepTokenWithFee" | "uniswapV3SwapCallback" | "unwrapWETH9" | "unwrapWETH9WithFee"): FunctionFragment; encodeFunctionData(functionFragment: "WETH9", values?: undefined): string; encodeFunctionData(functionFragment: "exactInput", values: [ISwapRouter.ExactInputParamsStruct]): string; encodeFunctionData(functionFragment: "exactInputSingle", values: [ISwapRouter.ExactInputSingleParamsStruct]): string; encodeFunctionData(functionFragment: "exactOutput", values: [ISwapRouter.ExactOutputParamsStruct]): string; encodeFunctionData(functionFragment: "exactOutputSingle", values: [ISwapRouter.ExactOutputSingleParamsStruct]): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string; encodeFunctionData(functionFragment: "refundETH", values?: undefined): string; encodeFunctionData(functionFragment: "selfPermit", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "selfPermitAllowed", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "selfPermitAllowedIfNecessary", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "selfPermitIfNecessary", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "sweepToken", values: [AddressLike, BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "sweepTokenWithFee", values: [AddressLike, BigNumberish, AddressLike, BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "uniswapV3SwapCallback", values: [BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "unwrapWETH9", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "unwrapWETH9WithFee", values: [BigNumberish, AddressLike, BigNumberish, AddressLike]): string; decodeFunctionResult(functionFragment: "WETH9", 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: "multicall", 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: "sweepToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sweepTokenWithFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "uniswapV3SwapCallback", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unwrapWETH9", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unwrapWETH9WithFee", data: BytesLike): Result; } export interface UniswapV3Router extends BaseContract { connect(runner?: ContractRunner | null): UniswapV3Router; waitForDeployment(): Promise; interface: UniswapV3RouterInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; WETH9: TypedContractMethod<[], [string], "view">; exactInput: TypedContractMethod<[ params: ISwapRouter.ExactInputParamsStruct ], [ bigint ], "payable">; exactInputSingle: TypedContractMethod<[ params: ISwapRouter.ExactInputSingleParamsStruct ], [ bigint ], "payable">; exactOutput: TypedContractMethod<[ params: ISwapRouter.ExactOutputParamsStruct ], [ bigint ], "payable">; exactOutputSingle: TypedContractMethod<[ params: ISwapRouter.ExactOutputSingleParamsStruct ], [ bigint ], "payable">; factory: TypedContractMethod<[], [string], "view">; multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "payable">; refundETH: TypedContractMethod<[], [void], "payable">; selfPermit: TypedContractMethod<[ token: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; selfPermitAllowed: TypedContractMethod<[ token: AddressLike, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; selfPermitAllowedIfNecessary: TypedContractMethod<[ token: AddressLike, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; selfPermitIfNecessary: TypedContractMethod<[ token: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; sweepToken: TypedContractMethod<[ token: AddressLike, amountMinimum: BigNumberish, recipient: AddressLike ], [ void ], "payable">; sweepTokenWithFee: TypedContractMethod<[ token: AddressLike, amountMinimum: BigNumberish, recipient: AddressLike, feeBips: BigNumberish, feeRecipient: AddressLike ], [ void ], "payable">; uniswapV3SwapCallback: TypedContractMethod<[ amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; unwrapWETH9: TypedContractMethod<[ amountMinimum: BigNumberish, recipient: AddressLike ], [ void ], "payable">; unwrapWETH9WithFee: TypedContractMethod<[ amountMinimum: BigNumberish, recipient: AddressLike, feeBips: BigNumberish, feeRecipient: AddressLike ], [ void ], "payable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "WETH9"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "exactInput"): TypedContractMethod<[ params: ISwapRouter.ExactInputParamsStruct ], [ bigint ], "payable">; getFunction(nameOrSignature: "exactInputSingle"): TypedContractMethod<[ params: ISwapRouter.ExactInputSingleParamsStruct ], [ bigint ], "payable">; getFunction(nameOrSignature: "exactOutput"): TypedContractMethod<[ params: ISwapRouter.ExactOutputParamsStruct ], [ bigint ], "payable">; getFunction(nameOrSignature: "exactOutputSingle"): TypedContractMethod<[ params: ISwapRouter.ExactOutputSingleParamsStruct ], [ bigint ], "payable">; getFunction(nameOrSignature: "factory"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "multicall"): TypedContractMethod<[data: BytesLike[]], [string[]], "payable">; getFunction(nameOrSignature: "refundETH"): TypedContractMethod<[], [void], "payable">; getFunction(nameOrSignature: "selfPermit"): TypedContractMethod<[ token: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "selfPermitAllowed"): TypedContractMethod<[ token: AddressLike, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "selfPermitAllowedIfNecessary"): TypedContractMethod<[ token: AddressLike, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "selfPermitIfNecessary"): TypedContractMethod<[ token: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "sweepToken"): TypedContractMethod<[ token: AddressLike, amountMinimum: BigNumberish, recipient: AddressLike ], [ void ], "payable">; getFunction(nameOrSignature: "sweepTokenWithFee"): TypedContractMethod<[ token: AddressLike, amountMinimum: BigNumberish, recipient: AddressLike, feeBips: BigNumberish, feeRecipient: AddressLike ], [ void ], "payable">; getFunction(nameOrSignature: "uniswapV3SwapCallback"): TypedContractMethod<[ amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "unwrapWETH9"): TypedContractMethod<[ amountMinimum: BigNumberish, recipient: AddressLike ], [ void ], "payable">; getFunction(nameOrSignature: "unwrapWETH9WithFee"): TypedContractMethod<[ amountMinimum: BigNumberish, recipient: AddressLike, feeBips: BigNumberish, feeRecipient: AddressLike ], [ void ], "payable">; filters: {}; }