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, PromiseOrValue } from './common.js'; export interface IUniswapV3PoolDerivedStateInterface extends utils.Interface { functions: { 'observe(uint32[])': FunctionFragment; 'snapshotCumulativesInside(int24,int24)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'observe' | 'snapshotCumulativesInside'): FunctionFragment; encodeFunctionData(functionFragment: 'observe', values: [PromiseOrValue[]]): string; encodeFunctionData(functionFragment: 'snapshotCumulativesInside', values: [PromiseOrValue, PromiseOrValue]): string; decodeFunctionResult(functionFragment: 'observe', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'snapshotCumulativesInside', data: BytesLike): Result; events: {}; } export interface IUniswapV3PoolDerivedState extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IUniswapV3PoolDerivedStateInterface; 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: { observe(secondsAgos: PromiseOrValue[], overrides?: CallOverrides): Promise<[ BigNumber[], BigNumber[] ] & { tickCumulatives: BigNumber[]; secondsPerLiquidityCumulativeX128s: BigNumber[]; }>; snapshotCumulativesInside(tickLower: PromiseOrValue, tickUpper: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number ] & { tickCumulativeInside: BigNumber; secondsPerLiquidityInsideX128: BigNumber; secondsInside: number; }>; }; observe(secondsAgos: PromiseOrValue[], overrides?: CallOverrides): Promise<[ BigNumber[], BigNumber[] ] & { tickCumulatives: BigNumber[]; secondsPerLiquidityCumulativeX128s: BigNumber[]; }>; snapshotCumulativesInside(tickLower: PromiseOrValue, tickUpper: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number ] & { tickCumulativeInside: BigNumber; secondsPerLiquidityInsideX128: BigNumber; secondsInside: number; }>; callStatic: { observe(secondsAgos: PromiseOrValue[], overrides?: CallOverrides): Promise<[ BigNumber[], BigNumber[] ] & { tickCumulatives: BigNumber[]; secondsPerLiquidityCumulativeX128s: BigNumber[]; }>; snapshotCumulativesInside(tickLower: PromiseOrValue, tickUpper: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number ] & { tickCumulativeInside: BigNumber; secondsPerLiquidityInsideX128: BigNumber; secondsInside: number; }>; }; filters: {}; estimateGas: { observe(secondsAgos: PromiseOrValue[], overrides?: CallOverrides): Promise; snapshotCumulativesInside(tickLower: PromiseOrValue, tickUpper: PromiseOrValue, overrides?: CallOverrides): Promise; }; populateTransaction: { observe(secondsAgos: PromiseOrValue[], overrides?: CallOverrides): Promise; snapshotCumulativesInside(tickLower: PromiseOrValue, tickUpper: PromiseOrValue, overrides?: CallOverrides): Promise; }; }