import { TenantCtx } from "@gscdump/contracts"; declare function inspectionIndexKey(ctx: TenantCtx): string; declare function emptyTypesKey(ctx: TenantCtx): string; declare function inspectionParquetKey(ctx: TenantCtx): string; declare function inspectionEventsPrefix(ctx: TenantCtx): string; declare function inspectionEventKey(ctx: TenantCtx, yearMonth: string, batchId: string): string; declare function inspectionBaseKey(ctx: TenantCtx): string; /** * Append-only record of URL-inspection STATE CHANGES, partitioned by month. * * Distinct from `events/`, which compaction deletes. Google exposes no API for * historical index-coverage state, so a verdict change observed once is gone * the moment the event file folds — this is the only durable record that a URL * ever left (or entered) the index. */ declare function inspectionTransitionsPrefix(ctx: TenantCtx): string; /** One file per calendar month (`YYYY-MM`), rewritten in place as it fills. */ declare function inspectionTransitionsMonthKey(ctx: TenantCtx, yearMonth: string): string; declare function inspectionHistoryPrefix(ctx: TenantCtx, yearMonth: string): string; declare function inspectionHistoryShardKey(ctx: TenantCtx, yearMonth: string, batchId: string): string; /** Stable, URL-safe FNV-1a hash used for entity keys. */ declare function hashUrl(url: string): string; declare function sitemapIndexKey(ctx: TenantCtx): string; declare function sitemapHistoryKey(ctx: TenantCtx, feedpathHash: string, capturedAtMs: number): string; declare function sitemapUrlsPrefix(ctx: TenantCtx): string; declare function sitemapUrlsIndexPrefix(ctx: TenantCtx): string; declare function sitemapUrlsIndexKey(ctx: TenantCtx, feedpathHash: string): string; declare function sitemapUrlsProjectionManifestKey(ctx: TenantCtx): string; interface SitemapGenerationKey { id: string; observedAt: number; } declare function sitemapUrlsDeltaKey(ctx: TenantCtx, feedpathHash: string, generation: SitemapGenerationKey): string; declare function parseSitemapUrlsDeltaKey(key: string): { date: string; feedpathHash: string; } | undefined; declare function sitemapUrlsEventsPrefix(ctx: TenantCtx): string; declare function sitemapUrlsEventKey(ctx: TenantCtx, feedpathHash: string, generation: SitemapGenerationKey): string; declare function sitemapUrlsEventSeedKey(ctx: TenantCtx, feedpathHash: string): string; declare function sitemapUrlsGenerationKey(ctx: TenantCtx, feedpathHash: string): string; declare function sitemapUrlsPendingGenerationsPrefix(ctx: TenantCtx): string; declare function sitemapUrlsPendingGenerationKey(ctx: TenantCtx, feedpathHash: string): string; declare function sitemapUrlsReconcileGenerationKey(ctx: TenantCtx): string; /** Hash a URL list for deterministic change detection. */ declare function hashUrlList(urls: readonly { loc: string; }[]): string; /** Hash sorted URL strings as though joined by a newline, without allocating the join. */ declare function hashSortedUrlList(locs: readonly string[]): string; declare function indexingMetadataIndexKey(ctx: TenantCtx): string; declare function queryDimParquetKey(ctx: TenantCtx): string; declare function queryDimMetaKey(ctx: TenantCtx): string; export { SitemapGenerationKey, emptyTypesKey, hashSortedUrlList, hashUrl, hashUrlList, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapUrlsDeltaKey, queryDimMetaKey, queryDimParquetKey, sitemapHistoryKey, sitemapIndexKey, sitemapUrlsDeltaKey, sitemapUrlsEventKey, sitemapUrlsEventSeedKey, sitemapUrlsEventsPrefix, sitemapUrlsGenerationKey, sitemapUrlsIndexKey, sitemapUrlsIndexPrefix, sitemapUrlsPendingGenerationKey, sitemapUrlsPendingGenerationsPrefix, sitemapUrlsPrefix, sitemapUrlsProjectionManifestKey, sitemapUrlsReconcileGenerationKey };