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 IQuoterV2 { type QuoteExactInputSingleParamsStruct = { tokenIn: AddressLike; tokenOut: AddressLike; amountIn: BigNumberish; fee: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type QuoteExactInputSingleParamsStructOutput = [ tokenIn: string, tokenOut: string, amountIn: bigint, fee: bigint, sqrtPriceLimitX96: bigint ] & { tokenIn: string; tokenOut: string; amountIn: bigint; fee: bigint; sqrtPriceLimitX96: bigint; }; type QuoteExactOutputSingleParamsStruct = { tokenIn: AddressLike; tokenOut: AddressLike; amount: BigNumberish; fee: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; type QuoteExactOutputSingleParamsStructOutput = [ tokenIn: string, tokenOut: string, amount: bigint, fee: bigint, sqrtPriceLimitX96: bigint ] & { tokenIn: string; tokenOut: string; amount: bigint; fee: bigint; sqrtPriceLimitX96: bigint; }; } export interface QuoterV2Interface extends Interface { getFunction(nameOrSignature: "WETH9" | "deployer" | "factory" | "pancakeV3SwapCallback" | "quoteExactInput" | "quoteExactInputSingle" | "quoteExactOutput" | "quoteExactOutputSingle"): FunctionFragment; encodeFunctionData(functionFragment: "WETH9", values?: undefined): string; encodeFunctionData(functionFragment: "deployer", values?: undefined): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "pancakeV3SwapCallback", values: [BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "quoteExactInput", values: [BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "quoteExactInputSingle", values: [IQuoterV2.QuoteExactInputSingleParamsStruct]): string; encodeFunctionData(functionFragment: "quoteExactOutput", values: [BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "quoteExactOutputSingle", values: [IQuoterV2.QuoteExactOutputSingleParamsStruct]): string; decodeFunctionResult(functionFragment: "WETH9", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deployer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pancakeV3SwapCallback", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactInput", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactInputSingle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactOutput", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteExactOutputSingle", data: BytesLike): Result; } export interface QuoterV2 extends BaseContract { connect(runner?: ContractRunner | null): QuoterV2; waitForDeployment(): Promise; interface: QuoterV2Interface; 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">; deployer: TypedContractMethod<[], [string], "view">; factory: TypedContractMethod<[], [string], "view">; pancakeV3SwapCallback: TypedContractMethod<[ amount0Delta: BigNumberish, amount1Delta: BigNumberish, path: BytesLike ], [ void ], "view">; quoteExactInput: TypedContractMethod<[ path: BytesLike, amountIn: BigNumberish ], [ [ bigint, bigint[], bigint[], bigint ] & { amountOut: bigint; sqrtPriceX96AfterList: bigint[]; initializedTicksCrossedList: bigint[]; gasEstimate: bigint; } ], "nonpayable">; quoteExactInputSingle: TypedContractMethod<[ params: IQuoterV2.QuoteExactInputSingleParamsStruct ], [ [ bigint, bigint, bigint, bigint ] & { amountOut: bigint; sqrtPriceX96After: bigint; initializedTicksCrossed: bigint; gasEstimate: bigint; } ], "nonpayable">; quoteExactOutput: TypedContractMethod<[ path: BytesLike, amountOut: BigNumberish ], [ [ bigint, bigint[], bigint[], bigint ] & { amountIn: bigint; sqrtPriceX96AfterList: bigint[]; initializedTicksCrossedList: bigint[]; gasEstimate: bigint; } ], "nonpayable">; quoteExactOutputSingle: TypedContractMethod<[ params: IQuoterV2.QuoteExactOutputSingleParamsStruct ], [ [ bigint, bigint, bigint, bigint ] & { amountIn: bigint; sqrtPriceX96After: bigint; initializedTicksCrossed: bigint; gasEstimate: bigint; } ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "WETH9"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "deployer"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "factory"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "pancakeV3SwapCallback"): TypedContractMethod<[amount0Delta: BigNumberish, amount1Delta: BigNumberish, path: BytesLike], [void], "view">; getFunction(nameOrSignature: "quoteExactInput"): TypedContractMethod<[ path: BytesLike, amountIn: BigNumberish ], [ [ bigint, bigint[], bigint[], bigint ] & { amountOut: bigint; sqrtPriceX96AfterList: bigint[]; initializedTicksCrossedList: bigint[]; gasEstimate: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "quoteExactInputSingle"): TypedContractMethod<[ params: IQuoterV2.QuoteExactInputSingleParamsStruct ], [ [ bigint, bigint, bigint, bigint ] & { amountOut: bigint; sqrtPriceX96After: bigint; initializedTicksCrossed: bigint; gasEstimate: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "quoteExactOutput"): TypedContractMethod<[ path: BytesLike, amountOut: BigNumberish ], [ [ bigint, bigint[], bigint[], bigint ] & { amountIn: bigint; sqrtPriceX96AfterList: bigint[]; initializedTicksCrossedList: bigint[]; gasEstimate: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "quoteExactOutputSingle"): TypedContractMethod<[ params: IQuoterV2.QuoteExactOutputSingleParamsStruct ], [ [ bigint, bigint, bigint, bigint ] & { amountIn: bigint; sqrtPriceX96After: bigint; initializedTicksCrossed: bigint; gasEstimate: bigint; } ], "nonpayable">; filters: {}; }