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 sitemapUrlsPrefix(ctx: TenantCtx): string; interface SitemapGenerationKey { id: string; observedAt: number; } declare function sitemapUrlsEventsPrefix(ctx: TenantCtx): string; declare function sitemapUrlsEventKey(ctx: TenantCtx, feedpathHash: string, generation: SitemapGenerationKey): string; declare function sitemapSiteManifestKey(ctx: TenantCtx): string; declare function sitemapSiteManifestsPrefix(ctx: TenantCtx): string; declare function sitemapSiteGenerationManifestKey(ctx: TenantCtx, generation: SitemapGenerationKey): string; declare function sitemapStagedGenerationPrefix(ctx: TenantCtx, generation: SitemapGenerationKey): string; declare function sitemapStagedFeedKey(ctx: TenantCtx, generation: SitemapGenerationKey, feedpathHash: string): string; declare function sitemapImmutableBaseKey(ctx: TenantCtx, generation: SitemapGenerationKey, feedpathHash: string): string; declare function sitemapLegacyImportKey(ctx: TenantCtx): string; /** WHATWG-serialized HTTP(S) feed identity with the fragment removed. */ type SitemapFeedIdentityResult = { _tag: 'ok'; url: string; } | { _tag: 'invalid'; reason: 'credentials' | 'empty' | 'invalid_url' | 'unsupported_protocol'; }; declare function parseSitemapFeedIdentity(input: string): SitemapFeedIdentityResult; /** Versioned exact payload hash. Lastmod-only changes are intentionally visible. */ declare function sitemapPayloadHashV1(urls: readonly { loc: string; lastmod?: string; }[]): string; declare function indexingMetadataIndexKey(ctx: TenantCtx): string; declare function queryDimParquetKey(ctx: TenantCtx): string; declare function queryDimMetaKey(ctx: TenantCtx): string; export { SitemapFeedIdentityResult, SitemapGenerationKey, emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix };