import { DeepReadonly } from 'ts-essentials'; import { Result } from '@ethersproject/abi'; import { FullRangePoolBase, FullRangePoolState } from './full-range'; import { Quote } from './pool'; import { PoolKey, StableswapPoolTypeConfig, SwappedEvent } from './utils'; export declare class OraclePool extends FullRangePoolBase { generateState(blockNumber?: number | 'latest'): Promise>; protected _quote(amount: bigint, isToken1: boolean, state: DeepReadonly, sqrtRatioLimit?: bigint): Quote; protected handlePositionUpdated(args: Result, oldState: DeepReadonly): DeepReadonly | null; protected handleSwappedEvent(ev: SwappedEvent, _oldState: DeepReadonly): DeepReadonly | null; } export declare function quoteOracle(key: PoolKey, amount: bigint, isToken1: boolean, state: DeepReadonly, sqrtRatioLimit?: bigint): Quote;