import { Address, Rpc, SolanaRpcApi } from '@solana/kit';
import { Pool, RaydiumPoolsResponse } from './RaydiumPoolsResponse';
import Decimal from 'decimal.js';
import { WhirlpoolAprApy } from './WhirlpoolAprApy';
import { WhirlpoolStrategy } from '../@codegen/kliquidity/accounts';
import { GenericPoolInfo, LiquidityDistribution } from '../utils';
import { ApiV3PoolInfoConcentratedItem } from '@raydium-io/raydium-sdk-v2/lib';
import { Connection } from '@solana/web3.js';
export declare class RaydiumService {
    private readonly _rpc;
    private readonly _legacyConnection;
    private readonly _raydiumProgramId;
    constructor(rpc: Rpc<SolanaRpcApi>, legacyConnection: Connection, raydiumProgramId?: Address);
    getRaydiumProgramId(): Address;
    getRaydiumWhirlpools(): Promise<RaydiumPoolsResponse>;
    getRaydiumPoolInfo(poolPubkey: Address): Promise<ApiV3PoolInfoConcentratedItem>;
    getRaydiumPoolLiquidityDistribution(pool: Address, keepOrder?: boolean, lowestTick?: number, highestTick?: number): Promise<LiquidityDistribution>;
    getStrategyWhirlpoolPoolAprApy: (strategy: WhirlpoolStrategy, pools?: Pool[]) => Promise<WhirlpoolAprApy>;
    getRaydiumPositionAprApy: (poolPubkey: Address, priceLower: Decimal, priceUpper: Decimal, pools?: Pool[]) => Promise<WhirlpoolAprApy>;
    getGenericPoolInfo(poolPubkey: Address, pools?: Pool[]): Promise<GenericPoolInfo>;
    getPositionsCountByPool(pool: Address): Promise<number>;
}
//# sourceMappingURL=RaydiumService.d.ts.map