/** * Presentation 2 and loose-Presentation-3 input, translated to the shape the * parser reads. * * Vocabulary only. `on` becomes `target`, `full` becomes `source`, `oa:` types * lose their prefix, and a bare string target carrying a media fragment becomes * an explicit SpecificResource and FragmentSelector — the parser reads a * selector and treats a string target as an opaque IRI, which is correct of it * and leaves splitting the fragment to the consumer that knows a Canvas is * being addressed. * * No selector *value* is interpreted here. That is the parser's codec, and * Mango holding a second opinion about `xywh=` is what this migration removed. * * This lives beside the canonical adapter rather than in the IIIF resolver * because every route into the model needs it: a manifest, an annotation page, * a host calling `addAnnotation` with a plain object, and a repository reading * back what it stored. */ /** * Rewrites a Presentation 2 annotation into the Presentation 3 shape. * * Only the envelope: `on` becomes `target`, `resource` becomes `body`, and * `cnt:chars` becomes `value`. Everything inside — selector values, SVG, * fragments, legacy `oa:`/`sc:` motivations, 1×1 point regions — is the * parser's to interpret, and Mango reading any of it a second time is how the * two interpretations diverged in the first place. */ export declare const toPresentation3: (annotation: Record) => Record;