import { Connection, PublicKey } from '@solana/web3.js'; import Decimal from 'decimal.js'; import { PoolData } from '@orca-so/whirlpool-sdk'; import { OrcaWhirlpoolsResponse, Whirlpool } from './OrcaWhirlpoolsResponse'; import { SolanaCluster } from '@hubbleprotocol/hubble-config'; import { WhirlpoolStrategy } from '../kamino-client/accounts'; import { OraclePrices, ScopeToken } from '@hubbleprotocol/scope-sdk'; import { WhirlpoolAprApy } from './WhirlpoolAprApy'; import { GenericPoolInfo, LiquidityDistribution } from '../utils'; export declare class OrcaService { private readonly _connection; private readonly _cluster; private readonly _orcaNetwork; private readonly _orcaApiUrl; private readonly _globalConfig; constructor(connection: Connection, cluster: SolanaCluster, globalConfig: PublicKey); getOrcaWhirlpools(): Promise; /** * Get token prices for a strategy - for use with orca sdk * @param strategy * @param prices * @param collateralInfos * @returns {Record} - token prices by mint string * @private */ private getTokenPrices; private getPoolTokensPrices; getPool(poolAddress: PublicKey): Promise; getStrategyWhirlpoolPoolAprApy(strategy: WhirlpoolStrategy, whirlpools?: Whirlpool[], prices?: OraclePrices): Promise; getWhirlpoolLiquidityDistribution(pool: PublicKey, keepOrder?: boolean, lowestTick?: number, highestTick?: number): Promise; getWhirlpoolPositionAprApy(poolPubkey: PublicKey, priceLower: Decimal, priceUpper: Decimal, whirlpools?: Whirlpool[], prices?: ScopeToken[]): Promise; getGenericPoolInfo(poolPubkey: PublicKey, whirlpools?: Whirlpool[]): Promise; getPositionsCountByPool(pool: PublicKey): Promise; }