import { BigNumber } from 'ethers'; import { Address, NumberAsString } from '../../types'; import { TickInfo } from '../uniswap-v3/types'; import { TickBitMapMappingsWithBigNumber, TickInfoMappingsWithBigNumber } from '../algebra/types'; import { Token } from '../../types'; export type AlgebraIntegralData = { path: { tokenIn: Address; tokenOut: Address; deployer: Address; }[]; feeOnTransfer: boolean; isApproved?: boolean; }; export type AlgebraDataWithFee = { tokenIn: Address; tokenOut: Address; }; export type DexParams = { factory: Address; quoter: Address; router: Address; subgraphURL: string; chunksCount: number; stateMulticall: Address; }; export type AlgebraIntegralPoolState = { pool: string; blockTimestamp: bigint; tickSpacing: bigint; globalState: { price: bigint; tick: bigint; fee: bigint; communityFeeToken0: bigint; communityFeeToken1: bigint; }; liquidity: bigint; maxLiquidityPerTick: bigint; tickBitmap: Record; ticks: Record; isValid: boolean; startTickBitmap: bigint; balance0: bigint; balance1: bigint; areTicksCompressed: boolean; communityVault: string; }; export type Pool = { poolAddress: Address; token0: Address; token1: Address; deployer: string; tvlUSD: number; }; export type SubgraphPoolData = { poolAddress: Address; token0: Token; token1: Token; deployer: string; }; export declare enum AlgebraIntegralFunctions { exactInput = "exactInput", exactOutput = "exactOutput", exactInputWithFeeToken = "exactInputSingleSupportingFeeOnTransferTokens" } export type DecodedGlobalStateIntegral = { price: BigNumber; tick: number; lastFee: number; pluginConfig: number; communityFee: number; }; export type DecodedStateMultiCallResultIntegral = { pool: Address; blockTimestamp: BigNumber; globalState: DecodedGlobalStateIntegral; liquidity: BigNumber; tickSpacing: number; maxLiquidityPerTick: BigNumber; tickBitmap: TickBitMapMappingsWithBigNumber[]; ticks: TickInfoMappingsWithBigNumber[]; };