/** Semantic buckets for comparison. A role may repeat; pageId is the stable key. */ export type CompareRole = 'home' | 'browse' | 'detail' | 'trust' | 'conversion'; export declare const COMPARE_ROLES: readonly CompareRole[]; export declare const MANIFEST_VERSION: 2; export type ManifestPage = { pageId: string; path: string; label: string; /** Legacy suites keep the five PageRole values. Industry pages use a semantic role that may repeat. */ role: string; compareRole: CompareRole | null; group: string; featured: boolean; previewPriority: number; /** Current industry pages pin content and referenced media; frozen adapters stay unchanged. */ contentIdentity?: string; assetIdentity?: string; }; export declare function legacyManifest(id: string): ManifestPage[]; export declare function validateManifest(id: string, pages: readonly ManifestPage[]): void; export declare function normalizePath(path: string): string; export declare function pageById(pages: readonly ManifestPage[], pageId: string): ManifestPage | undefined; /** story/guide remain explicit specimen aliases. Unknown ids are not remapped to home. */ export declare function resolvePageKey(pages: readonly ManifestPage[], key: string): ManifestPage | undefined; export declare function comparePage(pages: readonly ManifestPage[], role: CompareRole): ManifestPage | undefined; export declare function featuredPages(pages: readonly ManifestPage[], limit?: number): ManifestPage[];