import { SearchType } from "./storage.mjs"; import { EngineError } from "./errors.mjs"; import { Result } from "gscdump/result"; import { TableName } from "@gscdump/contracts"; type SyncTableName = Extract; declare const TABLES_BY_SEARCH_TYPE: Record; declare function parseEnabledSearchTypes(raw: string | null | undefined): SearchType[]; /** * Errors-as-values core for {@link validateEnabledSearchTypes}: returns a typed * `invalid-search-types` `EngineError` instead of throwing, so a host saving the * persisted config can map a bad value to a 4xx rather than a 500. */ declare function validateEnabledSearchTypesResult(value: unknown): Result; declare function validateEnabledSearchTypes(value: unknown): SearchType[]; declare const TABLE_TIERS: { readonly pages: "critical"; readonly queries: "critical"; readonly countries: "standard"; readonly dates: "standard"; readonly page_queries: "extended"; }; type TieredTableName = keyof typeof TABLE_TIERS; type TableTier = 'critical' | 'standard' | 'extended'; type DateWeight = 'fresh' | 'recent' | 'historical'; declare function getTableTier(table: string): TableTier; declare function getTablesForTier(tier: TableTier): TieredTableName[]; declare function getDateWeight(date: string, now?: Date): DateWeight; declare const TIER_PRIORITY: Record; declare const WEIGHT_PRIORITY: Record; declare const MAX_GSC_PAGES_R2 = 40; declare const ROW_LIMIT_R2 = 25000; declare const MIN_SYNC_IMPRESSIONS = 1; declare const MIN_COUNTRY_IMPRESSIONS = 10; declare const MAX_SITEMAP_URLS_PER_SITE = 50000; declare const MAX_TRACKED_URLS_PER_SITE = 200000; export { DateWeight, MAX_GSC_PAGES_R2, MAX_SITEMAP_URLS_PER_SITE, MAX_TRACKED_URLS_PER_SITE, MIN_COUNTRY_IMPRESSIONS, MIN_SYNC_IMPRESSIONS, ROW_LIMIT_R2, SyncTableName, TABLES_BY_SEARCH_TYPE, TABLE_TIERS, TIER_PRIORITY, TableTier, TieredTableName, WEIGHT_PRIORITY, getDateWeight, getTableTier, getTablesForTier, parseEnabledSearchTypes, validateEnabledSearchTypes, validateEnabledSearchTypesResult };