/** * ManifestRepository - Load, normalize, and query site manifests. */ import type { DetectionStrategy, SiteConfig, SiteEntry, SiteFilterOptions, SiteRepository, SiteResolutionResult } from './types.js'; import { DetectionMethod } from './types.js'; export type RawManifestEntry = Record; export type RawManifest = Record; export declare function normalizeSiteKey(key: string): string; export declare function canonicalizeSiteKey(key: string): string; export declare function levenshteinDistance(left: string, right: string): number; export declare function mapSingleDetectionMethod(errorType: string): DetectionMethod; export declare function mapDetectionMethod(errorType: string | string[]): DetectionStrategy; export declare function parseSites(data: RawManifest): Map; export declare class ManifestRepository implements SiteRepository { readonly sites: Map; readonly normalizedKeys: Map; constructor(sites: Map); static fromRawData(data: RawManifest): ManifestRepository; static fromSiteConfigs(configs: Record | Map): ManifestRepository; resolveKey(key: string): string | undefined; suggestKeys(key: string, limit?: number): string[]; resolveKeys(keys: string[]): SiteResolutionResult; get(key: string): SiteConfig | undefined; filter(options?: SiteFilterOptions): SiteEntry[]; count(options?: Pick): number; has(key: string): boolean; } export declare const defaultManifestRepository: ManifestRepository;