import { LenderToLenderCrossPoolMeta, UserData } from '../utils/types';
/** Per-trove detail attached to the debt position row (raw strings). */
export interface LiquityTroveInfo {
    /** decimal uint256 troveId — the sub-account id */
    troveId: string;
    collIndex: number;
    /** user-set annual interest rate, WAD string (batch rate when delegated) */
    annualInterestRate: string;
    /** unix seconds of the last rate change (premature-adjust fee window) */
    lastInterestRateAdjTime: number;
    /** redeemed below min debt — adjust via adjustZombieTrove */
    zombie: boolean;
    /** pending redistribution gains (from liquidations shared to the branch) */
    redistCollGain: string;
    redistBoldDebtGain: string;
    /** interest + batch-management fee accrued into entireDebt */
    accruedInterest: string;
    accruedBatchManagementFee: string;
}
/** Stability-pool position detail attached to the `sp` sub-account rows. */
export interface LiquitySpInfo {
    /** compounded stable deposit (raw) */
    deposit: string;
    /** claimable stable yield incl. pending aggregate interest (raw) */
    yieldGain: string;
    /** claimable liquidation collateral gain (raw coll units) */
    collGain: string;
    /** collateral stashed from prior doClaim=false ops (raw coll units) */
    stashedColl: string;
    /** post-liquidation collateral surplus claimable via claimCollateral (raw) */
    collSurplus: string;
}
/**
 * Returns a [converter, expectedCallCount] tuple for Liquity-family user data.
 *
 * Layout mirrors `buildLiquityUserCall` (reconstructed from the discovery
 * cache + branch config — both deterministic within the request). Emits one
 * `UserData` per BRANCH key `<LENDER>_<chainId>_<COLL_INDEX>`, each containing:
 *
 *  - one sub-account PER TROVE (`accountId` = decimal troveId): collateral
 *    row (`entireColl`) + stable debt row (`entireDebt`, incl. accrued
 *    interest / batch fee / redistribution) with `troveInfo` detail (user-set
 *    rate, zombie flag, rate-adjust cooldown anchor). Troves whose NFT was
 *    transferred away (ownerOf ≠ account) are skipped.
 *  - an `sp` sub-account when the user has Stability Pool state: stable
 *    deposits + yield on the loan row, claimable collateral (liquidation
 *    gains + stash + surplus) on the collateral row, with `spInfo` detail.
 *    SP deposits never collateralize (public data flags the loan market
 *    `collateralDisabled`), so health stays null there.
 */
export declare const getLiquityUserDataConverter: (lender: string, chainId: string, account: string, meta?: LenderToLenderCrossPoolMeta) => [(data: any[]) => {
    [lender: string]: UserData;
} | undefined, number];
//# sourceMappingURL=userCallParse.d.ts.map