import { BigNumber } from 'ethers'; import { Address, NumberAsString } from '../../types'; import { TickInfo } from '../uniswap-v3/types'; export type GlobalStateV1_1 = { price: bigint; tick: bigint; fee: bigint; communityFeeToken0: bigint; communityFeeToken1: bigint; }; export type PoolStateV1_1 = { pool: string; blockTimestamp: bigint; tickSpacing: bigint; globalState: GlobalStateV1_1; liquidity: bigint; maxLiquidityPerTick: bigint; tickBitmap: Record; ticks: Record; isValid: boolean; startTickBitmap: bigint; balance0: bigint; balance1: bigint; areTicksCompressed: boolean; }; type GlobalState_v1_9 = { price: bigint; tick: bigint; feeZto: bigint; feeOtz: bigint; communityFeeToken0: bigint; communityFeeToken1: bigint; }; export type PoolState_v1_9 = { pool: string; blockTimestamp: bigint; tickSpacing: bigint; globalState: GlobalState_v1_9; liquidity: bigint; maxLiquidityPerTick: bigint; tickBitmap: Record; ticks: Record; isValid: boolean; startTickBitmap: bigint; balance0: bigint; balance1: bigint; areTicksCompressed: boolean; }; export type FactoryState = Record; export type AlgebraData = { path: { tokenIn: Address; tokenOut: Address; }[]; feeOnTransfer: boolean; isApproved?: boolean; }; export type AlgebraDataWithFee = { tokenIn: Address; tokenOut: Address; }; export declare enum AlgebraFunctions { exactInput = "exactInput", exactOutput = "exactOutput", exactInputWithFeeToken = "exactInputSingleSupportingFeeOnTransferTokens" } export type DexParams = { router: Address; quoter: Address; factory: Address; algebraStateMulticall: Address; uniswapMulticall: Address; chunksCount: number; initRetryFrequency: number; deployer: Address; subgraphURL: string; initHash: string; version: 'v1.1' | 'v1.9' | 'v1.9-bidirectional-fee'; forceRPC?: boolean; forceManualStateGenerate?: boolean; }; export type IAlgebraPoolState = PoolStateV1_1 | PoolState_v1_9; export type TickBitMapMappingsWithBigNumber = { index: number; value: BigNumber; }; export type TickInfoWithBigNumber = { initialized: boolean; liquidityGross: BigNumber; liquidityNet: BigNumber; secondsOutside: number; secondsPerLiquidityOutsideX128: BigNumber; tickCumulativeOutside: BigNumber; }; export type TickInfoMappingsWithBigNumber = { index: number; value: TickInfoWithBigNumber; }; export type DecodedGlobalStateV1_1 = { price: BigNumber; tick: number; fee: number; communityFeeToken1: number; communityFeeToken0: number; }; export type DecodedGlobalStateV1_9 = { price: BigNumber; tick: number; feeZto: number; feeOtz: number; communityFeeToken1: number; communityFeeToken0: number; }; export type DecodedStateMultiCallResultWithRelativeBitmaps = { pool: Address; blockTimestamp: BigNumber; globalState: DecodedGlobalState; liquidity: BigNumber; tickSpacing: number; maxLiquidityPerTick: BigNumber; tickBitmap: TickBitMapMappingsWithBigNumber[]; ticks: TickInfoMappingsWithBigNumber[]; }; export type DecodedStateMultiCallResultWithRelativeBitmapsV1_1 = DecodedStateMultiCallResultWithRelativeBitmaps; export type DecodedStateMultiCallResultWithRelativeBitmapsV1_9 = DecodedStateMultiCallResultWithRelativeBitmaps; export {};