import { Connection, PublicKey } from '@solana/web3.js';
import { SolanaCluster } from '@hubbleprotocol/hubble-config';
import { Pool, RaydiumPoolsResponse } from './RaydiumPoolsResponse';
import Decimal from 'decimal.js';
import { WhirlpoolAprApy } from './WhirlpoolAprApy';
import { WhirlpoolStrategy } from '../kamino-client/accounts';
import { GenericPoolInfo, LiquidityDistribution } from '../utils';
export declare class RaydiumService {
    private readonly _connection;
    private readonly _cluster;
    constructor(connection: Connection, cluster: SolanaCluster);
    getRaydiumWhirlpools(): Promise<RaydiumPoolsResponse>;
    getRaydiumPoolLiquidityDistribution(pool: PublicKey, keepOrder?: boolean, lowestTick?: number, highestTick?: number): Promise<LiquidityDistribution>;
    getStrategyWhirlpoolPoolAprApy: (strategy: WhirlpoolStrategy, pools?: Pool[]) => Promise<WhirlpoolAprApy>;
    getRaydiumPositionAprApy: (poolPubkey: PublicKey, priceLower: Decimal, priceUpper: Decimal, pools?: Pool[]) => Promise<WhirlpoolAprApy>;
    getGenericPoolInfo(poolPubkey: PublicKey, pools?: Pool[]): Promise<GenericPoolInfo>;
    getPositionsCountByPool(pool: PublicKey): Promise<number>;
}
