import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, 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 IQuoter { type QuoteExactInputSingleParamsStruct = { tokenIn: string; tokenOut: string; amountIn: BigNumberish; fee: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type QuoteExactInputSingleParamsStructOutput = [ string, string, BigNumber, number, BigNumber ] & { tokenIn: string; tokenOut: string; amountIn: BigNumber; fee: number; sqrtPriceLimitX96: BigNumber; }; type QuoteExactInputSingleWithPoolParamsStruct = { tokenIn: string; tokenOut: string; amountIn: BigNumberish; pool: string; fee: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type QuoteExactInputSingleWithPoolParamsStructOutput = [ string, string, BigNumber, string, number, BigNumber ] & { tokenIn: string; tokenOut: string; amountIn: BigNumber; pool: string; fee: number; sqrtPriceLimitX96: BigNumber; }; type QuoteExactOutputSingleParamsStruct = { tokenIn: string; tokenOut: string; amount: BigNumberish; fee: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type QuoteExactOutputSingleParamsStructOutput = [ string, string, BigNumber, number, BigNumber ] & { tokenIn: string; tokenOut: string; amount: BigNumber; fee: number; sqrtPriceLimitX96: BigNumber; }; type QuoteExactOutputSingleWithPoolParamsStruct = { tokenIn: string; tokenOut: string; amount: BigNumberish; fee: BigNumberish; pool: string; sqrtPriceLimitX96: BigNumberish; }; type QuoteExactOutputSingleWithPoolParamsStructOutput = [ string, string, BigNumber, number, string, BigNumber ] & { tokenIn: string; tokenOut: string; amount: BigNumber; fee: number; pool: string; sqrtPriceLimitX96: BigNumber; }; } export interface IQuoterInterface extends utils.Interface { functions: { "quoteExactInput(bytes,uint256)": FunctionFragment; "quoteExactInputSingle((address,address,uint256,uint24,uint160))": FunctionFragment; "quoteExactInputSingleWithPool((address,address,uint256,address,uint24,uint160))": FunctionFragment; "quoteExactOutput(bytes,uint256)": FunctionFragment; "quoteExactOutputSingle((address,address,uint256,uint24,uint160))": FunctionFragment; "quoteExactOutputSingleWithPool((address,address,uint256,uint24,address,uint160))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "quoteExactInput" | "quoteExactInputSingle" | "quoteExactInputSingleWithPool" | "quoteExactOutput" | "quoteExactOutputSingle" | "quoteExactOutputSingleWithPool"): FunctionFragment; encodeFunctionData(functionFragment: "quoteExactInput", values: [BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "quoteExactInputSingle", values: [IQuoter.QuoteExactInputSingleParamsStruct]): string; encodeFunctionData(functionFragment: "quoteExactInputSingleWithPool", values: [IQuoter.QuoteExactInputSingleWithPoolParamsStruct]): string; encodeFunctionData(functionFragment: "quoteExactOutput", values: [BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "quoteExactOutputSingle", values: [IQuoter.QuoteExactOutputSingleParamsStruct]): string; encodeFunctionData(functionFragment: "quoteExactOutputSingleWithPool", values: [IQuoter.QuoteExactOutputSingleWithPoolParamsStruct]): string; decodeFunctionResult(functionFragment: "quoteExactInput", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactInputSingle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactInputSingleWithPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactOutput", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactOutputSingle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactOutputSingleWithPool", data: BytesLike): Result; events: {}; } export interface IQuoter extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IQuoterInterface; 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: { quoteExactInput(path: BytesLike, amountIn: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber[], number[], BigNumber ] & { amountOut: BigNumber; sqrtPriceX96AfterList: BigNumber[]; initializedTicksCrossedList: number[]; gasEstimate: BigNumber; }>; quoteExactInputSingle(params: IQuoter.QuoteExactInputSingleParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountOut: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactInputSingleWithPool(params: IQuoter.QuoteExactInputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountOut: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactOutput(path: BytesLike, amountOut: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber[], number[], BigNumber ] & { amountIn: BigNumber; sqrtPriceX96AfterList: BigNumber[]; initializedTicksCrossedList: number[]; gasEstimate: BigNumber; }>; quoteExactOutputSingle(params: IQuoter.QuoteExactOutputSingleParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountIn: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactOutputSingleWithPool(params: IQuoter.QuoteExactOutputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountIn: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; }; quoteExactInput(path: BytesLike, amountIn: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber[], number[], BigNumber ] & { amountOut: BigNumber; sqrtPriceX96AfterList: BigNumber[]; initializedTicksCrossedList: number[]; gasEstimate: BigNumber; }>; quoteExactInputSingle(params: IQuoter.QuoteExactInputSingleParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountOut: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactInputSingleWithPool(params: IQuoter.QuoteExactInputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountOut: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactOutput(path: BytesLike, amountOut: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber[], number[], BigNumber ] & { amountIn: BigNumber; sqrtPriceX96AfterList: BigNumber[]; initializedTicksCrossedList: number[]; gasEstimate: BigNumber; }>; quoteExactOutputSingle(params: IQuoter.QuoteExactOutputSingleParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountIn: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactOutputSingleWithPool(params: IQuoter.QuoteExactOutputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountIn: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; callStatic: { quoteExactInput(path: BytesLike, amountIn: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber[], number[], BigNumber ] & { amountOut: BigNumber; sqrtPriceX96AfterList: BigNumber[]; initializedTicksCrossedList: number[]; gasEstimate: BigNumber; }>; quoteExactInputSingle(params: IQuoter.QuoteExactInputSingleParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountOut: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactInputSingleWithPool(params: IQuoter.QuoteExactInputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountOut: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactOutput(path: BytesLike, amountOut: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber[], number[], BigNumber ] & { amountIn: BigNumber; sqrtPriceX96AfterList: BigNumber[]; initializedTicksCrossedList: number[]; gasEstimate: BigNumber; }>; quoteExactOutputSingle(params: IQuoter.QuoteExactOutputSingleParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountIn: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; quoteExactOutputSingleWithPool(params: IQuoter.QuoteExactOutputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, BigNumber ] & { amountIn: BigNumber; sqrtPriceX96After: BigNumber; initializedTicksCrossed: number; gasEstimate: BigNumber; }>; }; filters: {}; estimateGas: { quoteExactInput(path: BytesLike, amountIn: BigNumberish, overrides?: CallOverrides): Promise; quoteExactInputSingle(params: IQuoter.QuoteExactInputSingleParamsStruct, overrides?: CallOverrides): Promise; quoteExactInputSingleWithPool(params: IQuoter.QuoteExactInputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise; quoteExactOutput(path: BytesLike, amountOut: BigNumberish, overrides?: CallOverrides): Promise; quoteExactOutputSingle(params: IQuoter.QuoteExactOutputSingleParamsStruct, overrides?: CallOverrides): Promise; quoteExactOutputSingleWithPool(params: IQuoter.QuoteExactOutputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise; }; populateTransaction: { quoteExactInput(path: BytesLike, amountIn: BigNumberish, overrides?: CallOverrides): Promise; quoteExactInputSingle(params: IQuoter.QuoteExactInputSingleParamsStruct, overrides?: CallOverrides): Promise; quoteExactInputSingleWithPool(params: IQuoter.QuoteExactInputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise; quoteExactOutput(path: BytesLike, amountOut: BigNumberish, overrides?: CallOverrides): Promise; quoteExactOutputSingle(params: IQuoter.QuoteExactOutputSingleParamsStruct, overrides?: CallOverrides): Promise; quoteExactOutputSingleWithPool(params: IQuoter.QuoteExactOutputSingleWithPoolParamsStruct, overrides?: CallOverrides): Promise; }; }