import type { BaseContract, BigNumber, 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 interface IUniswapV3PoolInterface extends utils.Interface { functions: { "slot0()": FunctionFragment; "token0()": FunctionFragment; "token1()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "slot0" | "token0" | "token1"): FunctionFragment; encodeFunctionData(functionFragment: "slot0", values?: undefined): string; encodeFunctionData(functionFragment: "token0", values?: undefined): string; encodeFunctionData(functionFragment: "token1", values?: undefined): string; decodeFunctionResult(functionFragment: "slot0", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token0", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token1", data: BytesLike): Result; events: {}; } export interface IUniswapV3Pool extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IUniswapV3PoolInterface; 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: { slot0(overrides?: CallOverrides): Promise<[ BigNumber, number, number, number, number, number, boolean ] & { sqrtPriceX96: BigNumber; tick: number; observationIndex: number; observationCardinality: number; observationCardinalityNext: number; feeProtocol: number; unlocked: boolean; }>; token0(overrides?: CallOverrides): Promise<[string]>; token1(overrides?: CallOverrides): Promise<[string]>; }; slot0(overrides?: CallOverrides): Promise<[ BigNumber, number, number, number, number, number, boolean ] & { sqrtPriceX96: BigNumber; tick: number; observationIndex: number; observationCardinality: number; observationCardinalityNext: number; feeProtocol: number; unlocked: boolean; }>; token0(overrides?: CallOverrides): Promise; token1(overrides?: CallOverrides): Promise; callStatic: { slot0(overrides?: CallOverrides): Promise<[ BigNumber, number, number, number, number, number, boolean ] & { sqrtPriceX96: BigNumber; tick: number; observationIndex: number; observationCardinality: number; observationCardinalityNext: number; feeProtocol: number; unlocked: boolean; }>; token0(overrides?: CallOverrides): Promise; token1(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { slot0(overrides?: CallOverrides): Promise; token0(overrides?: CallOverrides): Promise; token1(overrides?: CallOverrides): Promise; }; populateTransaction: { slot0(overrides?: CallOverrides): Promise; token0(overrides?: CallOverrides): Promise; token1(overrides?: CallOverrides): Promise; }; }