/// import { AccountInfo, PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; import { Parser } from '../util'; import { LastUpdate } from './lastUpdate'; export interface Reserve { version: number; lastUpdate: LastUpdate; lendingMarket: PublicKey; liquidity: ReserveLiquidity; collateral: ReserveCollateral; config: ReserveConfig; } export interface ReserveLiquidity { mintPubkey: PublicKey; mintDecimals: number; supplyPubkey: PublicKey; feeReceiver: PublicKey; oraclePubkey: PublicKey; availableAmount: bigint; borrowedAmountWads: BigNumber; cumulativeBorrowRateWads: BigNumber; marketPrice: BigNumber; } export interface ReserveCollateral { mintPubkey: PublicKey; mintTotalSupply: bigint; supplyPubkey: PublicKey; } export interface ReserveConfig { optimalUtilizationRate: number; loanToValueRatio: number; liquidationBonus: number; liquidationThreshold: number; minBorrowRate: number; optimalBorrowRate: number; maxBorrowRate: number; fees: ReserveFees; depositLimit: bigint; borrowLimit: bigint; feeReceiver: PublicKey; } export interface ReserveFees { borrowFeeWad: bigint; flashLoanFeeWad: bigint; hostFeePercentage: number; } export declare const RESERVE_SIZE: number; export declare const isReserve: (info: AccountInfo) => boolean; export declare const parseReserve: Parser;