import { AdditionalYields, GenericTokenList } from '../../../types';
/**
 * Per-token Liquidity-layer state relevant for the IRM.
 *
 * `utilization` is `lastStoredUtilization` scaled to a 0-1 fraction. It is
 * read from the same packed storage slot as the current borrow rate, so it is
 * the exact x-coordinate on the token's rate curve that produced the rate —
 * the canonical "current utilization" for IRM charts and simulations.
 */
export interface FluidLiquidityTokenState {
    /** Liquidity-layer utilization (0-1 fraction; the IRM input) */
    utilization: number;
    /** Liquidity revenue fee (0-1 fraction of borrow interest) */
    fee: number;
    /** Utilization cap (0-1 fraction; 1 when unset) */
    maxUtilization: number;
    /** Total token supply at the Liquidity layer (raw token units, string) */
    totalSupply: string;
    /** Total token borrow at the Liquidity layer (raw token units, string) */
    totalBorrow: string;
    /** Liquidity-layer borrow APR % */
    borrowRate: number;
    /** Liquidity-layer supply APR % */
    supplyRate: number;
}
/**
 * Parser for the two-call Fluid public data fetch built by `buildFluidCall`.
 *
 * data[0] = VaultEntireData[]   (VaultResolver.getVaultsEntireData)
 * data[1] = OverallTokenData[]  (LiquidityResolver.getAllOverallTokensData)
 *
 * Emits one bucket per vault under lender key `FLUID_<chainId>_<vaultId>` (mirrors the
 * Morpho Blue pattern of one lender per isolated market).
 *
 * fTokens are NOT handled here — they are standalone ERC-4626 vaults on the
 * shared Liquidity Layer, not a lending market, so they are out of scope.
 */
export declare const getFluidPublicDataConverter: (_lender: string, chainId: string, prices: {
    [asset: string]: number;
}, additionalYields: AdditionalYields, tokenList?: GenericTokenList) => [(data: any[]) => {
    [lender: string]: any;
} | undefined, number];
//# sourceMappingURL=publicCallParse.d.ts.map