/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ 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 AutoSwap { export type PoolStruct = { target: AddressLike; tokenIn: AddressLike; tokenOut: AddressLike; fee: BigNumberish; }; export type PoolStructOutput = [ target: string, tokenIn: string, tokenOut: string, fee: bigint ] & { target: string; tokenIn: string; tokenOut: string; fee: bigint }; } export interface AutoSwapInterface extends Interface { getFunction( nameOrSignature: | "getAmountOutV2" | "getAmountOutV3" | "quoter" | "swap" | "uniswapV3SwapCallback" ): FunctionFragment; encodeFunctionData( functionFragment: "getAmountOutV2", values: [AddressLike, AddressLike, AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "getAmountOutV3", values: [AddressLike, AddressLike, AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "quoter", values: [AutoSwap.PoolStruct[], BigNumberish] ): string; encodeFunctionData( functionFragment: "swap", values: [AutoSwap.PoolStruct[], BigNumberish, BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "uniswapV3SwapCallback", values: [BigNumberish, BigNumberish, BytesLike] ): string; decodeFunctionResult( functionFragment: "getAmountOutV2", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAmountOutV3", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "quoter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; decodeFunctionResult( functionFragment: "uniswapV3SwapCallback", data: BytesLike ): Result; } export interface AutoSwap extends BaseContract { connect(runner?: ContractRunner | null): AutoSwap; waitForDeployment(): Promise; interface: AutoSwapInterface; 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; getAmountOutV2: TypedContractMethod< [ pair: AddressLike, tokenIn: AddressLike, tokenOut: AddressLike, amountIn: BigNumberish ], [bigint], "view" >; getAmountOutV3: TypedContractMethod< [ pool: AddressLike, tokenIn: AddressLike, tokenOut: AddressLike, amountIn: BigNumberish ], [bigint], "nonpayable" >; quoter: TypedContractMethod< [path: AutoSwap.PoolStruct[], amountIn: BigNumberish], [bigint], "nonpayable" >; swap: TypedContractMethod< [ path: AutoSwap.PoolStruct[], amountIn: BigNumberish, amountOutMin: BigNumberish, to: AddressLike ], [bigint], "payable" >; uniswapV3SwapCallback: TypedContractMethod< [amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike], [void], "nonpayable" >; getFunction( key: string | FunctionFragment ): T; getFunction( nameOrSignature: "getAmountOutV2" ): TypedContractMethod< [ pair: AddressLike, tokenIn: AddressLike, tokenOut: AddressLike, amountIn: BigNumberish ], [bigint], "view" >; getFunction( nameOrSignature: "getAmountOutV3" ): TypedContractMethod< [ pool: AddressLike, tokenIn: AddressLike, tokenOut: AddressLike, amountIn: BigNumberish ], [bigint], "nonpayable" >; getFunction( nameOrSignature: "quoter" ): TypedContractMethod< [path: AutoSwap.PoolStruct[], amountIn: BigNumberish], [bigint], "nonpayable" >; getFunction( nameOrSignature: "swap" ): TypedContractMethod< [ path: AutoSwap.PoolStruct[], amountIn: BigNumberish, amountOutMin: BigNumberish, to: AddressLike ], [bigint], "payable" >; getFunction( nameOrSignature: "uniswapV3SwapCallback" ): TypedContractMethod< [amount0Delta: BigNumberish, amount1Delta: BigNumberish, _data: BytesLike], [void], "nonpayable" >; filters: {}; }