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 } from "../common"; export type PositionFullStruct = { nonce: BigNumberish; operator: string; token0: string; token1: string; feeOrTickSpacing: BigNumberish; tickLower: BigNumberish; tickUpper: BigNumberish; liquidity: BigNumberish; feeGrowthInside0LastX128: BigNumberish; feeGrowthInside1LastX128: BigNumberish; tokensOwed0: BigNumberish; tokensOwed1: BigNumberish; salt: BytesLike; }; export type PositionFullStructOutput = [ BigNumber, string, string, string, number, number, number, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { nonce: BigNumber; operator: string; token0: string; token1: string; feeOrTickSpacing: number; tickLower: number; tickUpper: number; liquidity: BigNumber; feeGrowthInside0LastX128: BigNumber; feeGrowthInside1LastX128: BigNumber; tokensOwed0: BigNumber; tokensOwed1: BigNumber; salt: string; }; export type Slot0Struct = { sqrtPriceX96: BigNumberish; tick: BigNumberish; observationIndex: BigNumberish; observationCardinality: BigNumberish; observationCardinalityNext: BigNumberish; feeProtocol: BigNumberish; unlocked: boolean; }; export type Slot0StructOutput = [ BigNumber, number, number, number, number, number, boolean ] & { sqrtPriceX96: BigNumber; tick: number; observationIndex: number; observationCardinality: number; observationCardinalityNext: number; feeProtocol: number; unlocked: boolean; }; export type PositionStateStruct = { tokenId: BigNumberish; owner: string; position: PositionFullStruct; pool: string; poolFee: BigNumberish; poolTickSpacing: BigNumberish; slot0: Slot0Struct; activeLiquidity: BigNumberish; decimals0: BigNumberish; decimals1: BigNumberish; }; export type PositionStateStructOutput = [ BigNumber, string, PositionFullStructOutput, string, number, number, Slot0StructOutput, BigNumber, number, number ] & { tokenId: BigNumber; owner: string; position: PositionFullStructOutput; pool: string; poolFee: number; poolTickSpacing: number; slot0: Slot0StructOutput; activeLiquidity: BigNumber; decimals0: number; decimals1: number; }; export interface EphemeralGetPositionInterface extends utils.Interface { functions: { "getPosition(uint8,address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "getPosition"): FunctionFragment; encodeFunctionData(functionFragment: "getPosition", values: [BigNumberish, string, BigNumberish]): string; decodeFunctionResult(functionFragment: "getPosition", data: BytesLike): Result; events: {}; } export interface EphemeralGetPosition extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: EphemeralGetPositionInterface; 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: { getPosition(dex: BigNumberish, npm: string, tokenId: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; getPosition(dex: BigNumberish, npm: string, tokenId: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; callStatic: { getPosition(dex: BigNumberish, npm: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { getPosition(dex: BigNumberish, npm: string, tokenId: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; populateTransaction: { getPosition(dex: BigNumberish, npm: string, tokenId: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; }