import { type CollectedHead } from "../../react/head-collector.js"; import type { MdxBundle } from "../../types/index.js"; import type { MDXFrontmatter } from "../../transforms/mdx/types.js"; import { type ManagedHeadDescriptor } from "../../html/managed-head-protocol.js"; interface FrontmatterContextLike { pageInfo: { entity: { frontmatter?: Record; }; }; pageBundle: Pick; collectedMetadata?: Record; } export interface MergedHeadShellState { readonly frontmatter: MDXFrontmatter; readonly emissionHead: CollectedHead | undefined; readonly marksViewport: boolean; } export declare function resolveCommittedHeadFromHTML(html: string, requestHead: CollectedHead | undefined): CollectedHead | undefined; /** * Merge semantic singletons before either serializer runs. The shell keeps * permanent charset ownership; collected Head supplies exact title and * metadata descriptors for every other declared node. Filtering losing and * output-equivalent structured entries here guarantees one authoritative SSR * node for hydration. */ export declare function mergeCollectedHeadWithShell(frontmatter: MDXFrontmatter, layoutFrontmatter: MDXFrontmatter, head: CollectedHead | undefined): MergedHeadShellState; export declare function buildHeadElements(head?: CollectedHead, nonce?: string): { scripts: string; other: string; }; /** * Build the nonce-free transport representation of the committed React head. * The browser binds its active nonce when adopting these descriptors; a nonce * from one cached response must never become part of the portable payload. */ export declare function buildCollectedHeadDescriptors(head?: CollectedHead): ManagedHeadDescriptor[]; export declare function mergeFrontmatter(context: FrontmatterContextLike): MDXFrontmatter; export {}; //# sourceMappingURL=html-head.d.ts.map