import { Address, Rpc, SolanaRpcApi } from '@solana/kit'; import type { LedgerInstant } from './ledger'; import { Decimal } from 'decimal.js'; import { FarmIncentives, Farms, FarmState } from '@kamino-finance/farms-sdk'; import { Reserve } from '../@codegen/klend/accounts'; export type FarmsClient = Pick; export interface ReserveIncentives { collateralFarmIncentives: FarmIncentives; debtFarmIncentives: FarmIncentives; } export declare function getFarmIncentivesForClient(farmsClient: FarmsClient, farm: Address, stakedTokenPrice: Decimal, stakedTokenMintDecimals: number, pricesMap?: Map): Promise; export declare function getFarmIncentivesWithExistentStateForClient(farmsClient: FarmsClient, farm: Address, farmState: FarmState, stakedTokenPrice: Decimal, stakedTokenMintDecimals: number, pricesMap?: Map): Promise; /** * Computes the farm APY built on top of the reserve's cToken (collateral farm) and the reserve's * borrow side (debt farm). * * @param reserveRewardsMaxAprBps - the parent lending market's `reserveRewardsMaxAprBps` * (`kaminoMarket.state.reserveRewardsMaxAprBps`). Pass it when the market is already loaded to * save a network call; when omitted, the reserve's lending market is fetched to read it. * @param klendProgramId - the klend program that owns the reserve; pass it on non-default * deployments (e.g. staging), otherwise the mainnet program id is used. */ export declare function getReserveFarmRewardsAPY(rpc: Rpc, recentSlotDurationMs: number, reserve: Address, reserveLiquidityTokenPrice: Decimal, farmsClient: FarmsClient, ledgerInstant: LedgerInstant, reserveState: Reserve, tokensPrices?: Map, reserveRewardsMaxAprBps?: number, klendProgramId?: Address): Promise; //# sourceMappingURL=farmUtils.d.ts.map