import { SearchType } from "./storage.mjs"; import { EngineError } from "./errors.mjs"; import { Result } from "gscdump/result"; import { TableName } from "@gscdump/contracts"; export type SyncTableName = Extract; export declare const TABLES_BY_SEARCH_TYPE: Record; export 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. */ export declare function validateEnabledSearchTypesResult(value: unknown): Result; export declare function validateEnabledSearchTypes(value: unknown): SearchType[]; export declare const TABLE_TIERS: { readonly pages: "critical"; readonly queries: "critical"; readonly countries: "standard"; readonly dates: "standard"; readonly page_queries: "extended"; }; export type TieredTableName = keyof typeof TABLE_TIERS; export type TableTier = 'critical' | 'standard' | 'extended'; export type DateWeight = 'fresh' | 'recent' | 'historical'; export declare function getTableTier(table: string): TableTier; export declare function getTablesForTier(tier: TableTier): TieredTableName[]; export declare function getDateWeight(date: string, now?: Date): DateWeight; export declare const TIER_PRIORITY: Record; export declare const WEIGHT_PRIORITY: Record; export declare const MAX_GSC_PAGES_R2 = 40; export declare const ROW_LIMIT_R2 = 25000; export declare const MIN_SYNC_IMPRESSIONS = 1; export declare const MIN_COUNTRY_IMPRESSIONS = 10; export declare const MAX_SITEMAP_URLS_PER_SITE = 50000; export declare const MAX_TRACKED_URLS_PER_SITE = 200000;