import type { Address } from "viem"; import type { ExternalApy, PoolExtraApy } from "../../rewards/apy/index.js"; import type { PoolPointsBase } from "../../rewards/rewards/extra-apy.js"; import type { AddressMap } from "../../sdk/index.js"; import type { PoolFullAPY, PoolFullAPY7DAgo, PoolPointsWithTips } from "./pool-apy-types.js"; /** * Collects extra APY entries for the given token addresses from the * `poolExtraAPYList` map. * * In the client, `lookupAddresses` = [pool.address, ...pool.stakedDieselToken]. * The caller is responsible for providing the correct set of addresses. */ export declare function getPoolExtraAPY(lookupAddresses: Address[], poolExtraAPYList: Record | undefined): PoolExtraApy[]; /** * Computes annualized supply APY based on diesel rate change over ~7 days. * * Returns a value in "percentage" units (e.g. 5 ≈ 5 %). * Falls back to current on-chain `supplyRate` if 7d-ago diesel rate is * missing or higher than the current rate. */ export declare function calculateSupplyApy7d(currentDieselRate: bigint, currentSupplyRate: bigint, dieselRate7DAgo: bigint): number; interface CalculatePoolFullAPYProps { depositAPY: number; underlyingAPY: number; extraAPY: PoolExtraApy[] | undefined; currentExternalList: ExternalApy[] | undefined; } /** * Aggregates all APY components for a single pool. * * `depositAPY` and returned values are in "percentage" units (5 ≈ 5 %). * `underlyingAPY` comes from `apyList` (scaled by `PERCENTAGE_FACTOR`), * so it is divided by `PERCENTAGE_FACTOR` here. * * External APY: first entry in `currentExternalList`, enriched with `totalValue`. */ export declare function calculatePoolFullAPY({ depositAPY, underlyingAPY, extraAPY, currentExternalList, }: CalculatePoolFullAPYProps): PoolFullAPY; interface CalculatePoolFullAPY7DAgoProps { depositAPY: number; /** * Annualized supply APY from the ~7d diesel snapshot, in the same units as * `depositAPY`. * * - `undefined` — 7d snapshot not loaded yet (`loading7DAgo: true`); supply * row uses `depositAPY`. * - `null` — snapshot loaded but no numeric 7d supply; supply row uses * `depositAPY` (`||` semantics, same as client `pool7DAgo` with missing * `supplyAPY7DAgo`). * - `number` — explicit 7d supply; `0` falls back to `depositAPY` via `||`. */ supplyAPY7DAgo?: number | null; poolAPY?: PoolFullAPY | null; } /** * Computes the 7-days-ago APY snapshot for a pool. * * `supplyAPY7DAgo` replaces the current deposit APY in the base component; * extra & external APY are kept from the "current" calculation. */ export declare function calculatePoolFullAPY7DAgo({ supplyAPY7DAgo, depositAPY, poolAPY, }: CalculatePoolFullAPY7DAgoProps): PoolFullAPY7DAgo; interface CalculatePoolPointsProps { poolTokenSymbol: string | undefined; points: PoolPointsBase[Address] | undefined; tokensList: AddressMap<{ decimals: number; }>; } /** * Transforms raw `PoolPointsBase` entries into consumer-friendly * `PoolPointsWithTips` items with formatted amounts and tooltip strings. */ export declare function calculatePoolPoints({ poolTokenSymbol, points, tokensList, }: CalculatePoolPointsProps): PoolPointsWithTips[] | undefined; export {};