import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../common"; export declare namespace ISwapRouter { type ExactInputParamsStruct = { path: PromiseOrValue; recipient: PromiseOrValue; deadline: PromiseOrValue; amountIn: PromiseOrValue; amountOutMinimum: PromiseOrValue; }; type ExactInputParamsStructOutput = [ string, string, BigNumber, BigNumber, BigNumber ] & { path: string; recipient: string; deadline: BigNumber; amountIn: BigNumber; amountOutMinimum: BigNumber; }; type ExactInputSingleParamsStruct = { tokenIn: PromiseOrValue; tokenOut: PromiseOrValue; fee: PromiseOrValue; recipient: PromiseOrValue; deadline: PromiseOrValue; amountIn: PromiseOrValue; amountOutMinimum: PromiseOrValue; sqrtPriceLimitX96: PromiseOrValue; }; type ExactInputSingleParamsStructOutput = [ string, string, number, string, BigNumber, BigNumber, BigNumber, BigNumber ] & { tokenIn: string; tokenOut: string; fee: number; recipient: string; deadline: BigNumber; amountIn: BigNumber; amountOutMinimum: BigNumber; sqrtPriceLimitX96: BigNumber; }; type ExactOutputParamsStruct = { path: PromiseOrValue; recipient: PromiseOrValue; deadline: PromiseOrValue; amountOut: PromiseOrValue; amountInMaximum: PromiseOrValue; }; type ExactOutputParamsStructOutput = [ string, string, BigNumber, BigNumber, BigNumber ] & { path: string; recipient: string; deadline: BigNumber; amountOut: BigNumber; amountInMaximum: BigNumber; }; type ExactOutputSingleParamsStruct = { tokenIn: PromiseOrValue; tokenOut: PromiseOrValue; fee: PromiseOrValue; recipient: PromiseOrValue; deadline: PromiseOrValue; amountOut: PromiseOrValue; amountInMaximum: PromiseOrValue; sqrtPriceLimitX96: PromiseOrValue; }; type ExactOutputSingleParamsStructOutput = [ string, string, number, string, BigNumber, BigNumber, BigNumber, BigNumber ] & { tokenIn: string; tokenOut: string; fee: number; recipient: string; deadline: BigNumber; amountOut: BigNumber; amountInMaximum: BigNumber; sqrtPriceLimitX96: BigNumber; }; } export interface SwapRouterInterface extends utils.Interface { functions: { "exactInput((bytes,address,uint256,uint256,uint256))": FunctionFragment; "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": FunctionFragment; "exactOutput((bytes,address,uint256,uint256,uint256))": FunctionFragment; "exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": FunctionFragment; "uniswapV3SwapCallback(int256,int256,bytes)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "exactInput" | "exactInputSingle" | "exactOutput" | "exactOutputSingle" | "uniswapV3SwapCallback"): FunctionFragment; 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: "uniswapV3SwapCallback", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; 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: "uniswapV3SwapCallback", data: BytesLike): Result; events: {}; } export interface SwapRouter extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: SwapRouterInterface; 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: { exactInput(params: ISwapRouter.ExactInputParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactOutput(params: ISwapRouter.ExactOutputParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; uniswapV3SwapCallback(amount0Delta: PromiseOrValue, amount1Delta: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; exactInput(params: ISwapRouter.ExactInputParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactOutput(params: ISwapRouter.ExactOutputParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; uniswapV3SwapCallback(amount0Delta: PromiseOrValue, amount1Delta: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { exactInput(params: ISwapRouter.ExactInputParamsStruct, overrides?: CallOverrides): Promise; exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStruct, overrides?: CallOverrides): Promise; exactOutput(params: ISwapRouter.ExactOutputParamsStruct, overrides?: CallOverrides): Promise; exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStruct, overrides?: CallOverrides): Promise; uniswapV3SwapCallback(amount0Delta: PromiseOrValue, amount1Delta: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { exactInput(params: ISwapRouter.ExactInputParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactOutput(params: ISwapRouter.ExactOutputParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; uniswapV3SwapCallback(amount0Delta: PromiseOrValue, amount1Delta: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { exactInput(params: ISwapRouter.ExactInputParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactOutput(params: ISwapRouter.ExactOutputParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; uniswapV3SwapCallback(amount0Delta: PromiseOrValue, amount1Delta: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }