import type { CoinMetadata } from '@mysten/sui/client'; import { type ParsedObligation, type ParsedReserve, Side } from '@suilend/sdk'; import BigNumber from 'bignumber.js'; export type RewardMap = { [coinType: string]: { deposit: RewardSummary[]; borrow: RewardSummary[]; }; }; type ObligationClaim = { claimableAmount: BigNumber; reserveArrayIndex: bigint; }; export type RewardSummary = { stats: { id: string; isActive: boolean; rewardIndex: number; reserve: ParsedReserve; rewardCoinType: string; mintDecimals: number; price?: BigNumber; symbol: string; iconUrl?: string | null; aprPercent?: BigNumber; perDay?: BigNumber; side: Side; }; obligationClaims: { [obligationId: string]: ObligationClaim; }; }; export type AprRewardSummary = Omit & { stats: RewardSummary['stats'] & { aprPercent: BigNumber; price: BigNumber; }; }; export type PerDayRewardSummary = Omit & { stats: RewardSummary['stats'] & { perDay: BigNumber; }; }; export declare const getDepositShare: (reserve: ParsedReserve, share: BigNumber) => BigNumber; export declare const getBorrowShare: (reserve: ParsedReserve, share: BigNumber) => BigNumber; export declare const formatRewards: (parsedReserveMap: Record, coinMetadataMap: Record, birdeyePriceMap?: Record, obligations?: ParsedObligation[]) => RewardMap; export declare const getFilteredRewards: (rewards: RewardSummary[]) => RewardSummary[]; export declare const getDedupedAprRewards: (filteredRewards: RewardSummary[]) => AprRewardSummary[]; export declare const getDedupedPerDayRewards: (filteredRewards: RewardSummary[]) => PerDayRewardSummary[]; export declare const getStakingYieldAprPercent: (side: Side, reserve: ParsedReserve, lstAprPercentMap: Record) => BigNumber | undefined; export declare const getTotalAprPercent: (side: Side, aprPercent: BigNumber, filteredRewards: RewardSummary[], stakingYieldAprPercent?: BigNumber) => BigNumber; export declare const getNetAprPercent: (obligation: ParsedObligation, rewardMap: RewardMap, lstAprPercentMap: Record) => BigNumber; export {};