import { Connection, PublicKey } from '@solana/web3.js';
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 _raydiumProgramId;
    constructor(connection: Connection, raydiumProgramId?: PublicKey);
    getRaydiumProgramId(): PublicKey;
    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>;
}
//# sourceMappingURL=RaydiumService.d.ts.map