import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, 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.js'; 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 ISwapRouterInterface 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; }; getFunction(nameOrSignatureOrTopic: 'exactInput' | 'exactInputSingle' | 'exactOutput' | 'exactOutputSingle'): 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; decodeFunctionResult(functionFragment: 'exactInput', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exactInputSingle', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exactOutput', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exactOutputSingle', data: BytesLike): Result; events: {}; } export interface ISwapRouter extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ISwapRouterInterface; 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; }; 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; 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; }; 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; }; 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; }; }