import { Centrifuge } from '../../Centrifuge.js'; import { HexString } from '../../types/index.js'; import { DecimalJsType } from '../../utils/decimal.js'; import { ShareClassId } from '../../utils/types.js'; import { Entity } from '../Entity.js'; import { Pool } from '../Pool.js'; import { PoolReports } from './PoolReports.js'; import { DataReportFilter } from './types.js'; /** * Per-snapshot yield/return figures returned by the indexer. * * Naming matches the underlying indexer columns. Values are expressed as * percentages (e.g. `5.5` = 5.5%). Fields are optional because the indexer * may not have a value yet for the corresponding window (e.g. `yield90d` * before the share class has 90 days of price history). * * Window encoding: * - `yield{N}d` — simple total return over the trailing N days. * - `yield{N}d360` — same window, annualized using a 360-day basis. * - `yield{N}d365` — same window, annualized using a 365-day basis. * - `yield30dComp*` — 30-day compounded variants (annualized). * * `yieldTtm` is the trailing ~365 day simple return, `yieldSinceInception` * is from the first usable price, and `yieldYtd` is year-to-date (UTC). */ export type ShareYields = { yield1d?: DecimalJsType; yield1d360?: DecimalJsType; yield1d365?: DecimalJsType; yield7d?: DecimalJsType; yield7d360?: DecimalJsType; yield7d365?: DecimalJsType; yield15d?: DecimalJsType; yield15d360?: DecimalJsType; yield15d365?: DecimalJsType; yield30d?: DecimalJsType; yield30d360?: DecimalJsType; yield30d365?: DecimalJsType; yield90d?: DecimalJsType; yield90d360?: DecimalJsType; yield90d365?: DecimalJsType; yield180d?: DecimalJsType; yield180d360?: DecimalJsType; yield180d365?: DecimalJsType; yield30dComp360?: DecimalJsType; yield30dComp365?: DecimalJsType; yieldTtm?: DecimalJsType; yieldSinceInception?: DecimalJsType; yieldYtd?: DecimalJsType; }; export type ShareYieldsReport = { timestamp: string; shareClasses: Record; }[]; export type ShareYieldsReportFilter = DataReportFilter & { shareClassId?: ShareClassId; }; export declare class PoolShareYieldsReport extends Entity { poolReports: PoolReports; pool: Pool; constructor(centrifuge: Centrifuge, poolReports: PoolReports); /** * Get the per-day share-class yields report for a pool. * * Yields live on the share-class-level `token_snapshot` entity (not the * per-network `token_instance_snapshot` consumed by `sharePrices`), and are * populated on price-update events (`UpdatePricePoolPerShare`, * `UpdateShareClass`) rather than on `NewPeriod` snapshots. The * `(date, shareClassId)` dedupe keeps the latest snapshot per day. */ report(filter?: ShareYieldsReportFilter): import("../../index.js").Query; } //# sourceMappingURL=PoolShareYieldsReport.d.ts.map