/** * DOM-manifest front-end (spec: "Manifest Parser" / HU2 "one core, two * front-ends"). Reads the current DOM state of a 's direct * children and produces the layer IR the reconcile core * consumes. This is the ONLY module that touches the DOM for layers — * runtime-core.ts never does. */ import type { LayerIR } from "./ir"; import { type DataTransportOwner } from "./data-layer"; export interface ParseManifestOptions { /** * IR-snapshot mode (see ir-snapshot.ts): resolve the manifest without side * effects — never fetch `data` URLs (URL-backed layers resolve as empty * placeholders, exactly the Q6 pre-fetch state) and never sweep the * accessor cache (a snapshot pass is not "the live set"; sweeping here * would evict a concurrently-running live map's compiled accessors). */ snapshot?: boolean; /** Controller/element identity for descriptor-owned transport lifetime. */ dataOwner?: DataTransportOwner; } export declare function parseManifest(mapEl: Element, onDataLoaded: () => void, opts?: ParseManifestOptions): LayerIR[];