/** Parsed underlying Token sub-struct */
export interface BenqiToken {
    token: string;
    decimals: number;
    symbol: string;
    name: string;
}
/**
 * Shared parsed shape for both regular BENQI and ecosystem MarketMetadata.
 * Fields that only exist on one variant are optional.
 */
export interface BenqiMarketMetadata {
    market: string;
    supplyRate: bigint;
    borrowRate: bigint;
    price: bigint;
    exchangeRate: bigint;
    reserveFactor: bigint;
    borrowCap: bigint;
    supplyCap: bigint;
    totalSupply: bigint;
    totalUnderlyingSupply: bigint;
    totalBorrows: bigint;
    collateralFactor: bigint;
    underlying: BenqiToken;
    qiTokenDecimals: number;
    totalReserves: bigint;
    cash: bigint;
    mintPaused: boolean;
    borrowPaused: boolean;
}
/**
 * Parse regular BENQI MarketMetadata struct.
 *
 * Struct order: market(0), supplyRate(1), borrowRate(2), price(3),
 * exchangeRate(4), reserveFactor(5), borrowCap(6), totalSupply(7),
 * totalUnderlyingSupply(8), totalBorrows(9), collateralFactor(10),
 * underlying(11), qiTokenDecimals(12), avaxSupplyRewardSpeed(13),
 * avaxBorrowRewardSpeed(14), qiSupplyRewardSpeed(15), qiBorrowRewardSpeed(16),
 * totalReserves(17), cash(18), mintPaused(19), borrowPaused(20)
 */
export declare function parseBenqiMarketMetadata(input: any): BenqiMarketMetadata;
/**
 * Parse ecosystem BENQI MarketMetadata struct.
 *
 * Struct order: market(0), supplyRate(1), borrowRate(2), price(3),
 * exchangeRate(4), reserveFactor(5), borrowCap(6), supplyCap(7),
 * totalSupply(8), totalUnderlyingSupply(9), totalBorrows(10),
 * collateralFactor(11), underlying(12), qiTokenDecimals(13),
 * totalReserves(14), cash(15), mintPaused(16), borrowPaused(17),
 * rewards(18)
 */
export declare function parseBenqiEcoMarketMetadata(input: any): BenqiMarketMetadata;
/**
 * Returns deposit APR and borrow APR (percentages) for one BENQI market.
 * Rates are per-block; uses chain block time via TimeScale.BLOCK (same as Venus).
 */
export declare function getBenqiRates(info: BenqiMarketMetadata, chainId: string): {
    depositRate: number;
    variableBorrowRate: number;
};
//# sourceMappingURL=benqi.d.ts.map