import { RollupDef } from "./core.mjs"; /** * Aggregates the per-URL Indexing API metadata entity store (populated by * `gscdump entities indexing snapshot`) into daily counts of `URL_UPDATED` * and `URL_REMOVED` notifications. Covers the third entity-snapshot shape * without needing its own parquet family — publish events are sparse and * aggregate cleanly into a small JSON rollup. * * Safe no-op when the entity store is empty: returns `{ totals: {...}, days: [] }` * so downstream readers don't have to special-case first-run sites. */ declare const indexingMetadataRollup: RollupDef; /** * Indexing-API health by day: per `inspectedAt` date, counts of indexed, * soft-404, redirect, not-found, mobile passes, rich-results passes, and * canonical mismatches. Sourced from the inspections parquet sidecar * (`InspectionStore.parquetUri`), which holds the latest record per URL. * * Empty-payload no-op when the sidecar URI is unavailable (in-memory * `DataSource`, or before `materialize` has run). */ declare const indexingHealthRollup: RollupDef; /** * Per-day index-percent: ratio of (sitemap URLs that received GSC clicks on * that date) / (total live sitemap URLs). Uses a DuckDB JOIN between the * sitemap urls parquet (`SitemapStore.urlsParquetUri`) and the `pages` fact * parquet. Total denominator is the count of live URLs in the urls index; * numerator is per-day distinct loc count where pages.clicks > 0. */ declare const indexPercentRollup: RollupDef; /** * Sitemap-health per-day series materialized from the sitemap-store JSON * index. Each `SitemapRecord` carries `urlCount`, `errors`, `warnings`, * `contentHash`, and `lastDownloaded`. We bucket records by the day of their * `capturedAt` (or `lastDownloaded` fallback) and emit per-day aggregates plus * a snapshot of per-feed stats at the most recent capture. */ declare const sitemapHealthRollup: RollupDef; /** * Trailing-28-day sitemap URL changes: per-day per-feedpath {added, removed} * counts plus rolling top-200 added and removed URLs. Streams from * retained `SitemapReadStore.loadEvents()` history. State compaction cannot * erase analytics input; memory scales independently of total site state. */ declare const sitemapChanges28dRollup: RollupDef; export { indexPercentRollup, indexingHealthRollup, indexingMetadataRollup, sitemapChanges28dRollup, sitemapHealthRollup };