/**
 * Per Silo v2 pair we emit 6 multicall entries (3 per side):
 *   silo0.totalAssets()       — total deposits incl. accrued interest
 *   silo0.getDebtAssets()     — total borrows
 *   irm0.getConfig(silo0)     — full IRM config for rate derivation
 *   silo1.totalAssets()
 *   silo1.getDebtAssets()
 *   irm1.getConfig(silo1)
 *
 * Each pair lives under its own per-pair lender key (`SILO_V2_<HEX>`),
 * resolved via `getSiloV2MarketEntry`. All static metadata (oracle, lt,
 * fees, decimals, share tokens) still lives on the entry so it's never
 * fetched.
 *
 * Rates are computed in the parser from the IRM config + current utilization
 * (see `publicCallParse.ts`). We call the silo's own `interestRateModel`
 * directly instead of `SiloLens.get{Deposit,Borrow}APR` — the lens ABI has
 * varied across deployments, while the IRM's `getConfig(silo)` shape is
 * stable. If a particular IRM reverts or returns an unexpected layout, the
 * parser falls back to 0% rather than poisoning the whole batch.
 */
export declare const SILO_V2_CALLS_PER_SIDE = 3;
export declare const SILO_V2_CALLS_PER_PAIR: number;
export declare function buildSiloV2LenderReserveCall(_chainId: string, lender: string): any[];
//# sourceMappingURL=publicCallBuild.d.ts.map