import { Address } from "@solana/kit"; import BN from "bn.js"; import * as types from "../types"; export interface ReserveConfigFields { status: number; paddingDeprecatedAssetTier: number; hostFixedInterestRateBps: number; minDeleveragingBonusBps: number; blockCtokenUsage: number; earlyRepayRemainingInterestPct: number; emergencyMode: number; reserved1: Array; protocolOrderExecutionFeePct: number; protocolTakeRatePct: number; protocolLiquidationFeePct: number; loanToValuePct: number; liquidationThresholdPct: number; minLiquidationBonusBps: number; maxLiquidationBonusBps: number; badDebtLiquidationBonusBps: number; deleveragingMarginCallPeriodSecs: BN; deleveragingThresholdDecreaseBpsPerDay: BN; fees: types.ReserveFeesFields; borrowRateCurve: types.BorrowRateCurveFields; borrowFactorPct: BN; depositLimit: BN; borrowLimit: BN; tokenInfo: types.TokenInfoFields; depositWithdrawalCap: types.WithdrawalCapsFields; debtWithdrawalCap: types.WithdrawalCapsFields; elevationGroups: Array; disableUsageAsCollOutsideEmode: number; utilizationLimitBlockBorrowingAbovePct: number; autodeleverageEnabled: number; proposerAuthorityLocked: number; borrowLimitOutsideElevationGroup: BN; borrowLimitAgainstThisCollateralInElevationGroup: Array; deleveragingBonusIncreaseBpsPerDay: BN; debtMaturityTimestamp: BN; debtTermSeconds: BN; rewardsAmountPerSlot: BN; permissionedOps: BN; } export interface ReserveConfigJSON { status: number; paddingDeprecatedAssetTier: number; hostFixedInterestRateBps: number; minDeleveragingBonusBps: number; blockCtokenUsage: number; earlyRepayRemainingInterestPct: number; emergencyMode: number; reserved1: Array; protocolOrderExecutionFeePct: number; protocolTakeRatePct: number; protocolLiquidationFeePct: number; loanToValuePct: number; liquidationThresholdPct: number; minLiquidationBonusBps: number; maxLiquidationBonusBps: number; badDebtLiquidationBonusBps: number; deleveragingMarginCallPeriodSecs: string; deleveragingThresholdDecreaseBpsPerDay: string; fees: types.ReserveFeesJSON; borrowRateCurve: types.BorrowRateCurveJSON; borrowFactorPct: string; depositLimit: string; borrowLimit: string; tokenInfo: types.TokenInfoJSON; depositWithdrawalCap: types.WithdrawalCapsJSON; debtWithdrawalCap: types.WithdrawalCapsJSON; elevationGroups: Array; disableUsageAsCollOutsideEmode: number; utilizationLimitBlockBorrowingAbovePct: number; autodeleverageEnabled: number; proposerAuthorityLocked: number; borrowLimitOutsideElevationGroup: string; borrowLimitAgainstThisCollateralInElevationGroup: Array; deleveragingBonusIncreaseBpsPerDay: string; debtMaturityTimestamp: string; debtTermSeconds: string; rewardsAmountPerSlot: string; permissionedOps: string; } export declare class ReserveConfig { readonly status: number; readonly paddingDeprecatedAssetTier: number; readonly hostFixedInterestRateBps: number; readonly minDeleveragingBonusBps: number; readonly blockCtokenUsage: number; readonly earlyRepayRemainingInterestPct: number; readonly emergencyMode: number; readonly reserved1: Array; readonly protocolOrderExecutionFeePct: number; readonly protocolTakeRatePct: number; readonly protocolLiquidationFeePct: number; readonly loanToValuePct: number; readonly liquidationThresholdPct: number; readonly minLiquidationBonusBps: number; readonly maxLiquidationBonusBps: number; readonly badDebtLiquidationBonusBps: number; readonly deleveragingMarginCallPeriodSecs: BN; readonly deleveragingThresholdDecreaseBpsPerDay: BN; readonly fees: types.ReserveFees; readonly borrowRateCurve: types.BorrowRateCurve; readonly borrowFactorPct: BN; readonly depositLimit: BN; readonly borrowLimit: BN; readonly tokenInfo: types.TokenInfo; readonly depositWithdrawalCap: types.WithdrawalCaps; readonly debtWithdrawalCap: types.WithdrawalCaps; readonly elevationGroups: Array; readonly disableUsageAsCollOutsideEmode: number; readonly utilizationLimitBlockBorrowingAbovePct: number; readonly autodeleverageEnabled: number; readonly proposerAuthorityLocked: number; readonly borrowLimitOutsideElevationGroup: BN; readonly borrowLimitAgainstThisCollateralInElevationGroup: Array; readonly deleveragingBonusIncreaseBpsPerDay: BN; readonly debtMaturityTimestamp: BN; readonly debtTermSeconds: BN; readonly rewardsAmountPerSlot: BN; readonly permissionedOps: BN; constructor(fields: ReserveConfigFields); static layout(property?: string): import("buffer-layout").Layout; static fromDecoded(obj: any): types.ReserveConfig; static toEncodable(fields: ReserveConfigFields): { status: number; paddingDeprecatedAssetTier: number; hostFixedInterestRateBps: number; minDeleveragingBonusBps: number; blockCtokenUsage: number; earlyRepayRemainingInterestPct: number; emergencyMode: number; reserved1: number[]; protocolOrderExecutionFeePct: number; protocolTakeRatePct: number; protocolLiquidationFeePct: number; loanToValuePct: number; liquidationThresholdPct: number; minLiquidationBonusBps: number; maxLiquidationBonusBps: number; badDebtLiquidationBonusBps: number; deleveragingMarginCallPeriodSecs: BN; deleveragingThresholdDecreaseBpsPerDay: BN; fees: { originationFeeSf: BN; flashLoanFeeSf: BN; padding: number[]; }; borrowRateCurve: { points: { utilizationRateBps: number; borrowRateBps: number; }[]; }; borrowFactorPct: BN; depositLimit: BN; borrowLimit: BN; tokenInfo: { name: number[]; heuristic: { lower: BN; upper: BN; exp: BN; }; maxTwapDivergenceBps: BN; maxAgePriceSeconds: BN; maxAgeTwapSeconds: BN; scopeConfiguration: { priceFeed: Address; priceChain: number[]; twapChain: number[]; }; switchboardConfiguration: { priceAggregator: Address; twapAggregator: Address; }; pythConfiguration: { price: Address; }; blockPriceUsage: number; reserved: number[]; padding: BN[]; }; depositWithdrawalCap: { configCapacity: BN; currentTotal: BN; lastIntervalStartTimestamp: BN; configIntervalLengthSeconds: BN; }; debtWithdrawalCap: { configCapacity: BN; currentTotal: BN; lastIntervalStartTimestamp: BN; configIntervalLengthSeconds: BN; }; elevationGroups: number[]; disableUsageAsCollOutsideEmode: number; utilizationLimitBlockBorrowingAbovePct: number; autodeleverageEnabled: number; proposerAuthorityLocked: number; borrowLimitOutsideElevationGroup: BN; borrowLimitAgainstThisCollateralInElevationGroup: BN[]; deleveragingBonusIncreaseBpsPerDay: BN; debtMaturityTimestamp: BN; debtTermSeconds: BN; rewardsAmountPerSlot: BN; permissionedOps: BN; }; toJSON(): ReserveConfigJSON; static fromJSON(obj: ReserveConfigJSON): ReserveConfig; toEncodable(): { status: number; paddingDeprecatedAssetTier: number; hostFixedInterestRateBps: number; minDeleveragingBonusBps: number; blockCtokenUsage: number; earlyRepayRemainingInterestPct: number; emergencyMode: number; reserved1: number[]; protocolOrderExecutionFeePct: number; protocolTakeRatePct: number; protocolLiquidationFeePct: number; loanToValuePct: number; liquidationThresholdPct: number; minLiquidationBonusBps: number; maxLiquidationBonusBps: number; badDebtLiquidationBonusBps: number; deleveragingMarginCallPeriodSecs: BN; deleveragingThresholdDecreaseBpsPerDay: BN; fees: { originationFeeSf: BN; flashLoanFeeSf: BN; padding: number[]; }; borrowRateCurve: { points: { utilizationRateBps: number; borrowRateBps: number; }[]; }; borrowFactorPct: BN; depositLimit: BN; borrowLimit: BN; tokenInfo: { name: number[]; heuristic: { lower: BN; upper: BN; exp: BN; }; maxTwapDivergenceBps: BN; maxAgePriceSeconds: BN; maxAgeTwapSeconds: BN; scopeConfiguration: { priceFeed: Address; priceChain: number[]; twapChain: number[]; }; switchboardConfiguration: { priceAggregator: Address; twapAggregator: Address; }; pythConfiguration: { price: Address; }; blockPriceUsage: number; reserved: number[]; padding: BN[]; }; depositWithdrawalCap: { configCapacity: BN; currentTotal: BN; lastIntervalStartTimestamp: BN; configIntervalLengthSeconds: BN; }; debtWithdrawalCap: { configCapacity: BN; currentTotal: BN; lastIntervalStartTimestamp: BN; configIntervalLengthSeconds: BN; }; elevationGroups: number[]; disableUsageAsCollOutsideEmode: number; utilizationLimitBlockBorrowingAbovePct: number; autodeleverageEnabled: number; proposerAuthorityLocked: number; borrowLimitOutsideElevationGroup: BN; borrowLimitAgainstThisCollateralInElevationGroup: BN[]; deleveragingBonusIncreaseBpsPerDay: BN; debtMaturityTimestamp: BN; debtTermSeconds: BN; rewardsAmountPerSlot: BN; permissionedOps: BN; }; } //# sourceMappingURL=ReserveConfig.d.ts.map