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 PoolKeyStruct = { currency0: string; currency1: string; fee: BigNumberish; tickSpacing: BigNumberish; hooks: string; }; export type PoolKeyStructOutput = [string, string, number, number, string] & { currency0: string; currency1: string; fee: number; tickSpacing: number; hooks: string; }; export type Slot0Struct = { sqrtPriceX96: BigNumberish; tick: BigNumberish; protocolFee: BigNumberish; lpFee: BigNumberish; }; export type Slot0StructOutput = [BigNumber, number, number, number] & { sqrtPriceX96: BigNumber; tick: number; protocolFee: number; lpFee: number; }; export type PositionStateStruct = { tokenId: BigNumberish; owner: string; position: PositionFullStruct; poolKey: PoolKeyStruct; poolFee: BigNumberish; poolTickSpacing: BigNumberish; slot0: Slot0Struct; activeLiquidity: BigNumberish; decimals0: BigNumberish; decimals1: BigNumberish; }; export type PositionStateStructOutput = [ BigNumber, string, PositionFullStructOutput, PoolKeyStructOutput, number, number, Slot0StructOutput, BigNumber, number, number ] & { tokenId: BigNumber; owner: string; position: PositionFullStructOutput; poolKey: PoolKeyStructOutput; poolFee: number; poolTickSpacing: number; slot0: Slot0StructOutput; activeLiquidity: BigNumber; decimals0: number; decimals1: number; }; export interface EphemeralGetPositionV4Interface extends utils.Interface { functions: { "getPosition(address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "getPosition"): FunctionFragment; encodeFunctionData(functionFragment: "getPosition", values: [string, BigNumberish]): string; decodeFunctionResult(functionFragment: "getPosition", data: BytesLike): Result; events: {}; } export interface EphemeralGetPositionV4 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: EphemeralGetPositionV4Interface; 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(positionManagerAddr: string, tokenId: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; getPosition(positionManagerAddr: string, tokenId: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; callStatic: { getPosition(positionManagerAddr: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { getPosition(positionManagerAddr: string, tokenId: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; populateTransaction: { getPosition(positionManagerAddr: string, tokenId: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; }; }