import { CAction } from './types';
type VTokenMetadataLegacy = {
    vToken?: string;
    exchangeRateCurrent?: bigint;
    supplyRatePerBlock?: bigint;
    borrowRatePerBlock?: bigint;
    reserveFactorMantissa?: bigint;
    totalBorrows?: bigint;
    totalReserves?: bigint;
    totalSupply?: bigint;
    totalCash?: bigint;
    isListed?: boolean;
    collateralFactorMantissa?: bigint;
    underlyingAssetAddress?: string;
    vTokenDecimals?: bigint;
    underlyingDecimals?: bigint;
    venusSupplySpeed?: bigint;
    venusBorrowSpeed?: bigint;
    dailySupplyXvs?: bigint;
    dailyBorrowXvs?: bigint;
    pausedActions?: bigint;
    liquidationThresholdMantissa?: bigint;
    liquidationIncentiveMantissa?: bigint;
    isBorrowAllowed?: boolean;
    poolId?: bigint;
};
type VTokenMetadataExtended = {
    vToken?: string;
    exchangeRateCurrent?: bigint;
    supplyRatePerBlockOrTimestamp?: bigint;
    borrowRatePerBlockOrTimestamp?: bigint;
    reserveFactorMantissa?: bigint;
    supplyCaps?: bigint;
    borrowCaps?: bigint;
    totalBorrows?: bigint;
    totalReserves?: bigint;
    totalSupply?: bigint;
    totalCash?: bigint;
    isListed?: boolean;
    collateralFactorMantissa?: bigint;
    underlyingAssetAddress?: string;
    vTokenDecimals?: bigint;
    underlyingDecimals?: bigint;
    pausedActions?: bigint;
    borrowCap: number;
    supplyCap: number;
};
type AnyVTokenMetadata = Partial<VTokenMetadataLegacy & VTokenMetadataExtended>;
/**
 * Safely extracts and normalizes all fields from a VTokenMetadata object.
 * Returns a plain JS object with stringified bigints (for display/logging).
 */
export declare function readVTokenMetadata(meta: AnyVTokenMetadata, token: any): {
    vToken: string;
    exchangeRateCurrent: bigint;
    supplyRatePerBlock: bigint;
    borrowRatePerBlock: bigint;
    reserveFactorMantissa: bigint;
    supplyCaps: bigint;
    borrowCaps: bigint;
    totalBorrows: bigint;
    totalReserves: bigint;
    totalSupply: bigint;
    totalCash: bigint;
    isListed: boolean;
    collateralFactorMantissa: bigint;
    underlyingAssetAddress: string;
    cTokenDecimals: bigint;
    underlyingDecimals: bigint;
    venusSupplySpeed: bigint;
    venusBorrowSpeed: bigint;
    dailySupplyXvs: bigint;
    dailyBorrowXvs: bigint;
    liquidationThresholdMantissa: bigint;
    liquidationIncentiveMantissa: bigint;
    isBorrowAllowed: boolean;
    poolId: bigint;
    pausedActions: ActionPausedMap;
    depositRate: number;
    variableBorrowRate: number;
    supplyCap: number;
    borrowCap: number;
};
type ActionPausedMap = Record<CAction, boolean>;
export {};
//# sourceMappingURL=venus.d.ts.map