@embedpdf/core-annotation 3.0.0-next.11 → 3.0.0-next.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { AnnotationDTO, AnnotationFlags, AnnotationFlags as AnnotationFlags$1, AnnotationRef, BlendMode, BlendMode as BlendMode$1, CaretIntent, InkIntent, LineEnding, LineEndings, NO_ANNOTATION_FLAGS, PdfLinkTarget, PdfPoint, PdfRect, StrikeoutIntent } from "@embedpdf/engine-core/runtime";
1
+ import { AnnotationDTO, AnnotationFlags, AnnotationFlags as AnnotationFlags$1, AnnotationRef, BlendMode, BlendMode as BlendMode$1, CaretIntent, InkIntent, LineEnding, LineEndings, NO_ANNOTATION_FLAGS, PdfLinkTarget, PdfPoint, PdfRect, RichTextDocumentInput, RichTextParagraph, RichTextRunStyle, StrikeoutIntent } from "@embedpdf/engine-core/runtime";
2
2
  import { PageObjectNumber } from "@embedpdf/core";
3
3
  import { PageRotation, Point, Rect as Rect$1, Size, TextQuad, TextQuad as TextQuad$1 } from "@embedpdf/core-geometry";
4
4
  //#region src/flags.d.ts
@@ -196,6 +196,15 @@ interface TextStyle {
196
196
  fontSize: number;
197
197
  fontColor: string;
198
198
  textAlign: TextAlign;
199
+ /**
200
+ * The rich body's formatting (free text only): bold = body weight ≥ 600,
201
+ * italic = the body face's italic, underline = the body's decoration.
202
+ * Absent = off. Runs override these as deltas (a bold word in a regular
203
+ * box), which the plugin routes to the editor's text selection instead.
204
+ */
205
+ bold?: boolean;
206
+ italic?: boolean;
207
+ underline?: boolean;
199
208
  }
200
209
  /**
201
210
  * The ONE flat vocabulary for editable appearance properties — what property
@@ -750,6 +759,10 @@ type Msg = {
750
759
  t: 'setText';
751
760
  id: Id;
752
761
  text: string;
762
+ } | {
763
+ t: 'setRichText';
764
+ id: Id;
765
+ doc: RichTextDocumentInput;
753
766
  } | {
754
767
  t: 'endTextEdit';
755
768
  };
@@ -1220,6 +1233,70 @@ declare function hitTest(m: Model, pon: number, p: Vec, geom: ChromeGeom, stroke
1220
1233
  /** The cursor to show on hover: a resize cursor over a handle, move/pointer over a body. */
1221
1234
  declare function cursorAt(m: Model, pon: number, p: Vec, geom: ChromeGeom, strokeMargin: number, pageBox?: Rect, inert?: ReadonlySet<Id>, view?: ViewEnv): Cursor | null;
1222
1235
  //#endregion
1236
+ //#region src/richtext.d.ts
1237
+ type RichTextStyleDelta = Partial<RichTextRunStyle>;
1238
+ /** A range of the plain projection, `start <= end`, end exclusive. */
1239
+ interface RichTextRange {
1240
+ start: number;
1241
+ end: number;
1242
+ }
1243
+ /** Length of the plain projection. */
1244
+ declare function richTextLength(doc: {
1245
+ paragraphs: readonly RichTextParagraph[];
1246
+ }): number;
1247
+ /** Two deltas override the same properties with the same values. */
1248
+ declare function sameStyleDelta(a: RichTextStyleDelta | undefined, b: RichTextStyleDelta | undefined): boolean;
1249
+ /**
1250
+ * Merge adjacent runs whose deltas agree, drop empty runs, strip empty
1251
+ * deltas. A paragraph with no text keeps a single empty run so the editor
1252
+ * has somewhere to put the caret.
1253
+ */
1254
+ declare function normalizeRuns<T extends {
1255
+ paragraphs: RichTextParagraph[];
1256
+ }>(doc: T): T;
1257
+ /** Where a flat offset falls: paragraph index and offset within it (the
1258
+ * separator between paragraphs belongs to the end of the earlier one). */
1259
+ declare function locateOffset(doc: {
1260
+ paragraphs: readonly RichTextParagraph[];
1261
+ }, offset: number): {
1262
+ paragraph: number;
1263
+ offset: number;
1264
+ };
1265
+ /** The paragraph with a run boundary guaranteed at a local offset. */
1266
+ declare function splitRunsAt(paragraph: RichTextParagraph, offset: number): RichTextParagraph;
1267
+ /**
1268
+ * Apply a style delta to every character of a range: the runs it touches are
1269
+ * split at its boundaries, the covered pieces take the delta on top of what
1270
+ * they already override (`clear` names properties to stop overriding, so
1271
+ * they follow the body again), and the result is normalised. An empty range
1272
+ * is a no-op.
1273
+ */
1274
+ declare function applyStyleToRange<T extends {
1275
+ paragraphs: RichTextParagraph[];
1276
+ }>(doc: T, range: RichTextRange, delta: RichTextStyleDelta, clear?: readonly (keyof RichTextRunStyle)[]): T;
1277
+ /**
1278
+ * The delta in force at a caret: the run the offset falls in, or, at a run
1279
+ * boundary, the run before it (what typing there would inherit). Undefined
1280
+ * for an empty document.
1281
+ */
1282
+ declare function styleAt(doc: {
1283
+ paragraphs: readonly RichTextParagraph[];
1284
+ }, offset: number): RichTextStyleDelta | undefined;
1285
+ /** Every run overlapping the range satisfies `predicate` (an empty range
1286
+ * tests the caret's style). */
1287
+ declare function rangeHasStyle(doc: {
1288
+ paragraphs: readonly RichTextParagraph[];
1289
+ }, range: RichTextRange, predicate: (delta: RichTextStyleDelta) => boolean): boolean;
1290
+ /** Plain paragraphs from text: one per line break, one unstyled run each. */
1291
+ declare function paragraphsFromPlainText(text: string): RichTextParagraph[];
1292
+ /** The plain projection: paragraphs joined by `\r`, runs concatenated. */
1293
+ declare function plainTextOf(doc: {
1294
+ paragraphs: readonly RichTextParagraph[];
1295
+ }): string;
1296
+ /** True when nothing in the document overrides the body: no run delta, no
1297
+ * paragraph property. Such a document commits as plain `contents`. */
1298
+ declare function isPlainRichText(doc: RichTextDocumentInput): boolean;
1299
+ //#endregion
1223
1300
  //#region src/group.d.ts
1224
1301
  /**
1225
1302
  * The transform capabilities of a multi-target (group) selection: a group can
@@ -1334,6 +1411,18 @@ type PropSpec = {
1334
1411
  } | {
1335
1412
  key: 'textAlign';
1336
1413
  label: string;
1414
+ } |
1415
+ /** Rich-text formatting toggles (free text): the body's formatting, or —
1416
+ * while the text editor has a range — that range's runs. */
1417
+ {
1418
+ key: 'bold';
1419
+ label: string;
1420
+ } | {
1421
+ key: 'italic';
1422
+ label: string;
1423
+ } | {
1424
+ key: 'underline';
1425
+ label: string;
1337
1426
  } | {
1338
1427
  key: 'blendMode';
1339
1428
  label: string;
@@ -1708,6 +1797,17 @@ declare function geomHit(g: Geom, p: Vec, margin: number, filled: boolean, strok
1708
1797
  declare function geomHandles(g: Geom): Handle[];
1709
1798
  declare function geomTranslate(g: Geom, d: Vec): Geom;
1710
1799
  declare function geomDragHandle(g: Geom, handle: string, to: Vec): Geom;
1800
+ /**
1801
+ * The text PLATE inset of a free-text box: twice the border width. The plate
1802
+ * — where text lays out, clips and scrolls — is the box deflated by this on
1803
+ * every side: the ink band and an equal breathing band, so the text never
1804
+ * touches the stroke. Acrobat's rule, measured 1–12 pt on plain boxes and
1805
+ * 1–7 pt on callouts (plan `2026-09-15-free-text-plate-inset.md`); the
1806
+ * engine's `FreeTextPlate` is the same formula, so the live editor sits
1807
+ * exactly where the baked text lands. Acrobat's thinnest border is 1 pt; a
1808
+ * width of 0 is ours alone and gives no inset (the plate is the box).
1809
+ */
1810
+ declare function textPlateInset(strokeWidth: number): number;
1711
1811
  declare function geomScene(g: Geom, strokeWidth?: number, border?: Border): RenderNode[];
1712
1812
  declare const pdfToContentPoint: (p: PdfPoint, crop: PdfRect) => Vec;
1713
1813
  declare const contentToPdfPoint: (p: Vec, crop: PdfRect) => PdfPoint;
@@ -1744,5 +1844,5 @@ declare function scene(item: RenderItem): SceneNode[];
1744
1844
  */
1745
1845
  declare function straightenInkStroke(points: readonly Vec[], options: InkStraightenOptions): Vec[];
1746
1846
  //#endregion
1747
- export { type AnchorMode, type Annot, type AnnotationFlags, type AnnotationKind, type AnnotationProps, type AnnotationPropsPatch, type BlendMode, type Border, type Callout, type ChromeGeom, type ChromeNode, type ClickCreate, type ClickPlacement, type CreationDraftAnchor, type Cursor, DEFAULT_CHROME_GEOM, DRAWN_FLAGS, type Draft, type Effect, FLAG_KEYS, type FlagBearer, type Geom, type GroupCaps, type Guide, type Handle, type Id, type InkStraightenOptions, KINDS, type KindCaps, type LineEnding, type LineEndings, MIN_DRAG, MITER_LIMIT, type Model, type Msg, NO_ANNOTATION_FLAGS, type Paint, type PatchScope, type PointerInput, type PropKey, type PropSpec, type Quad, RECT_HANDLES, ROTATE_KNOB_OFFSET, type Rect, type RectHandle, type RenderItem, type RenderNode, type SceneNode, type SnapResult, type SnapSettings, type Style, type Subtype, type Target, type TextAlign, type TextBox, type TextEndAnchor, type TextQuad, type TextStyle, type Vec, type ViewEnv, anchorModeOf, anchorOf, anchoredBox, anchoredGeom, anchoredStrokeWidth, annotContentsEditable, annotDeletable, annotInteractive, annotTransformable, applyProps, calloutConnection, calloutLinePoints, canMove, capsFor, caretGeomFromAnchor, caretRectFromAnchor, caretRectFromTextEnd, centroidOf, chrome, clampRectToBox, clickCreateGeom, cloudyBorderExtent, cloudyPath, computeMoveSnap, contentToPdfPoint, contentToPdfRect, creationDraftAnchor, cursorAt, defaultsFor, expandGroups, fitStampBox, flagsEqual, geomBounds, geomDragHandle, geomHandles, geomHit, geomPdfBounds, geomResetRotation, geomRotateAbout, geomRotation, geomScaleAbout, geomScene, geomTranslate, geomVisualBounds, groupCaps, groupKeyOf, groupMembers, groupResizeAnchor, groupResizeBox, groupResizeFactors, hitTest, initialModel, initialStyle, initialTextStyle, interactive, isAttachedLink, isConversationOnly, isRotatableGeom, isSelectable, isSubstrateOnly, linkChildrenOf, linkOf, mergeFlags, normalizeDeg, obbFromGeom, pageItems, pdfToContentPoint, pdfToContentRect, placeRotateKnob, pointInQuad, propsFor, quadIntersectsRect, readProp, rectFromPoints, resolveClickPlacement, rotateDraftDelta, rotateKnob, rotatedAabb, rotatedHandleCursor, scene, selectedItems, selectionAnchor, selectionBounds, selectionBoundsOnPage, selectionCenter, selectionKnob, selectionQuad, shapeRectFor, sharedProps, straightenInkStroke, styleFromProps, textBoxes, textStyleFromProps, transposedAboutCenter, unanchoredGeom, unionRect, update, uprightAnchoredRect, uprightRotation, viewable };
1847
+ export { type AnchorMode, type Annot, type AnnotationFlags, type AnnotationKind, type AnnotationProps, type AnnotationPropsPatch, type BlendMode, type Border, type Callout, type ChromeGeom, type ChromeNode, type ClickCreate, type ClickPlacement, type CreationDraftAnchor, type Cursor, DEFAULT_CHROME_GEOM, DRAWN_FLAGS, type Draft, type Effect, FLAG_KEYS, type FlagBearer, type Geom, type GroupCaps, type Guide, type Handle, type Id, type InkStraightenOptions, KINDS, type KindCaps, type LineEnding, type LineEndings, MIN_DRAG, MITER_LIMIT, type Model, type Msg, NO_ANNOTATION_FLAGS, type Paint, type PatchScope, type PointerInput, type PropKey, type PropSpec, type Quad, RECT_HANDLES, ROTATE_KNOB_OFFSET, type Rect, type RectHandle, type RenderItem, type RenderNode, type RichTextRange, type RichTextStyleDelta, type SceneNode, type SnapResult, type SnapSettings, type Style, type Subtype, type Target, type TextAlign, type TextBox, type TextEndAnchor, type TextQuad, type TextStyle, type Vec, type ViewEnv, anchorModeOf, anchorOf, anchoredBox, anchoredGeom, anchoredStrokeWidth, annotContentsEditable, annotDeletable, annotInteractive, annotTransformable, applyProps, applyStyleToRange, calloutConnection, calloutLinePoints, canMove, capsFor, caretGeomFromAnchor, caretRectFromAnchor, caretRectFromTextEnd, centroidOf, chrome, clampRectToBox, clickCreateGeom, cloudyBorderExtent, cloudyPath, computeMoveSnap, contentToPdfPoint, contentToPdfRect, creationDraftAnchor, cursorAt, defaultsFor, expandGroups, fitStampBox, flagsEqual, geomBounds, geomDragHandle, geomHandles, geomHit, geomPdfBounds, geomResetRotation, geomRotateAbout, geomRotation, geomScaleAbout, geomScene, geomTranslate, geomVisualBounds, groupCaps, groupKeyOf, groupMembers, groupResizeAnchor, groupResizeBox, groupResizeFactors, hitTest, initialModel, initialStyle, initialTextStyle, interactive, isAttachedLink, isConversationOnly, isPlainRichText, isRotatableGeom, isSelectable, isSubstrateOnly, linkChildrenOf, linkOf, locateOffset, mergeFlags, normalizeDeg, normalizeRuns, obbFromGeom, pageItems, paragraphsFromPlainText, pdfToContentPoint, pdfToContentRect, placeRotateKnob, plainTextOf, pointInQuad, propsFor, quadIntersectsRect, rangeHasStyle, readProp, rectFromPoints, resolveClickPlacement, richTextLength, rotateDraftDelta, rotateKnob, rotatedAabb, rotatedHandleCursor, sameStyleDelta, scene, selectedItems, selectionAnchor, selectionBounds, selectionBoundsOnPage, selectionCenter, selectionKnob, selectionQuad, shapeRectFor, sharedProps, splitRunsAt, straightenInkStroke, styleAt, styleFromProps, textBoxes, textPlateInset, textStyleFromProps, transposedAboutCenter, unanchoredGeom, unionRect, update, uprightAnchoredRect, uprightRotation, viewable };
1748
1848
  //# sourceMappingURL=index.d.cts.map
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AnnotationDTO, AnnotationFlags, AnnotationFlags as AnnotationFlags$1, AnnotationRef, BlendMode, BlendMode as BlendMode$1, CaretIntent, InkIntent, LineEnding, LineEndings, NO_ANNOTATION_FLAGS, PdfLinkTarget, PdfPoint, PdfRect, StrikeoutIntent } from "@embedpdf/engine-core/runtime";
1
+ import { AnnotationDTO, AnnotationFlags, AnnotationFlags as AnnotationFlags$1, AnnotationRef, BlendMode, BlendMode as BlendMode$1, CaretIntent, InkIntent, LineEnding, LineEndings, NO_ANNOTATION_FLAGS, PdfLinkTarget, PdfPoint, PdfRect, RichTextDocumentInput, RichTextParagraph, RichTextRunStyle, StrikeoutIntent } from "@embedpdf/engine-core/runtime";
2
2
  import { PageRotation, Point, Rect as Rect$1, Size, TextQuad, TextQuad as TextQuad$1 } from "@embedpdf/core-geometry";
3
3
  import { PageObjectNumber } from "@embedpdf/core";
4
4
  //#region src/flags.d.ts
@@ -196,6 +196,15 @@ interface TextStyle {
196
196
  fontSize: number;
197
197
  fontColor: string;
198
198
  textAlign: TextAlign;
199
+ /**
200
+ * The rich body's formatting (free text only): bold = body weight ≥ 600,
201
+ * italic = the body face's italic, underline = the body's decoration.
202
+ * Absent = off. Runs override these as deltas (a bold word in a regular
203
+ * box), which the plugin routes to the editor's text selection instead.
204
+ */
205
+ bold?: boolean;
206
+ italic?: boolean;
207
+ underline?: boolean;
199
208
  }
200
209
  /**
201
210
  * The ONE flat vocabulary for editable appearance properties — what property
@@ -750,6 +759,10 @@ type Msg = {
750
759
  t: 'setText';
751
760
  id: Id;
752
761
  text: string;
762
+ } | {
763
+ t: 'setRichText';
764
+ id: Id;
765
+ doc: RichTextDocumentInput;
753
766
  } | {
754
767
  t: 'endTextEdit';
755
768
  };
@@ -1220,6 +1233,70 @@ declare function hitTest(m: Model, pon: number, p: Vec, geom: ChromeGeom, stroke
1220
1233
  /** The cursor to show on hover: a resize cursor over a handle, move/pointer over a body. */
1221
1234
  declare function cursorAt(m: Model, pon: number, p: Vec, geom: ChromeGeom, strokeMargin: number, pageBox?: Rect, inert?: ReadonlySet<Id>, view?: ViewEnv): Cursor | null;
1222
1235
  //#endregion
1236
+ //#region src/richtext.d.ts
1237
+ type RichTextStyleDelta = Partial<RichTextRunStyle>;
1238
+ /** A range of the plain projection, `start <= end`, end exclusive. */
1239
+ interface RichTextRange {
1240
+ start: number;
1241
+ end: number;
1242
+ }
1243
+ /** Length of the plain projection. */
1244
+ declare function richTextLength(doc: {
1245
+ paragraphs: readonly RichTextParagraph[];
1246
+ }): number;
1247
+ /** Two deltas override the same properties with the same values. */
1248
+ declare function sameStyleDelta(a: RichTextStyleDelta | undefined, b: RichTextStyleDelta | undefined): boolean;
1249
+ /**
1250
+ * Merge adjacent runs whose deltas agree, drop empty runs, strip empty
1251
+ * deltas. A paragraph with no text keeps a single empty run so the editor
1252
+ * has somewhere to put the caret.
1253
+ */
1254
+ declare function normalizeRuns<T extends {
1255
+ paragraphs: RichTextParagraph[];
1256
+ }>(doc: T): T;
1257
+ /** Where a flat offset falls: paragraph index and offset within it (the
1258
+ * separator between paragraphs belongs to the end of the earlier one). */
1259
+ declare function locateOffset(doc: {
1260
+ paragraphs: readonly RichTextParagraph[];
1261
+ }, offset: number): {
1262
+ paragraph: number;
1263
+ offset: number;
1264
+ };
1265
+ /** The paragraph with a run boundary guaranteed at a local offset. */
1266
+ declare function splitRunsAt(paragraph: RichTextParagraph, offset: number): RichTextParagraph;
1267
+ /**
1268
+ * Apply a style delta to every character of a range: the runs it touches are
1269
+ * split at its boundaries, the covered pieces take the delta on top of what
1270
+ * they already override (`clear` names properties to stop overriding, so
1271
+ * they follow the body again), and the result is normalised. An empty range
1272
+ * is a no-op.
1273
+ */
1274
+ declare function applyStyleToRange<T extends {
1275
+ paragraphs: RichTextParagraph[];
1276
+ }>(doc: T, range: RichTextRange, delta: RichTextStyleDelta, clear?: readonly (keyof RichTextRunStyle)[]): T;
1277
+ /**
1278
+ * The delta in force at a caret: the run the offset falls in, or, at a run
1279
+ * boundary, the run before it (what typing there would inherit). Undefined
1280
+ * for an empty document.
1281
+ */
1282
+ declare function styleAt(doc: {
1283
+ paragraphs: readonly RichTextParagraph[];
1284
+ }, offset: number): RichTextStyleDelta | undefined;
1285
+ /** Every run overlapping the range satisfies `predicate` (an empty range
1286
+ * tests the caret's style). */
1287
+ declare function rangeHasStyle(doc: {
1288
+ paragraphs: readonly RichTextParagraph[];
1289
+ }, range: RichTextRange, predicate: (delta: RichTextStyleDelta) => boolean): boolean;
1290
+ /** Plain paragraphs from text: one per line break, one unstyled run each. */
1291
+ declare function paragraphsFromPlainText(text: string): RichTextParagraph[];
1292
+ /** The plain projection: paragraphs joined by `\r`, runs concatenated. */
1293
+ declare function plainTextOf(doc: {
1294
+ paragraphs: readonly RichTextParagraph[];
1295
+ }): string;
1296
+ /** True when nothing in the document overrides the body: no run delta, no
1297
+ * paragraph property. Such a document commits as plain `contents`. */
1298
+ declare function isPlainRichText(doc: RichTextDocumentInput): boolean;
1299
+ //#endregion
1223
1300
  //#region src/group.d.ts
1224
1301
  /**
1225
1302
  * The transform capabilities of a multi-target (group) selection: a group can
@@ -1334,6 +1411,18 @@ type PropSpec = {
1334
1411
  } | {
1335
1412
  key: 'textAlign';
1336
1413
  label: string;
1414
+ } |
1415
+ /** Rich-text formatting toggles (free text): the body's formatting, or —
1416
+ * while the text editor has a range — that range's runs. */
1417
+ {
1418
+ key: 'bold';
1419
+ label: string;
1420
+ } | {
1421
+ key: 'italic';
1422
+ label: string;
1423
+ } | {
1424
+ key: 'underline';
1425
+ label: string;
1337
1426
  } | {
1338
1427
  key: 'blendMode';
1339
1428
  label: string;
@@ -1708,6 +1797,17 @@ declare function geomHit(g: Geom, p: Vec, margin: number, filled: boolean, strok
1708
1797
  declare function geomHandles(g: Geom): Handle[];
1709
1798
  declare function geomTranslate(g: Geom, d: Vec): Geom;
1710
1799
  declare function geomDragHandle(g: Geom, handle: string, to: Vec): Geom;
1800
+ /**
1801
+ * The text PLATE inset of a free-text box: twice the border width. The plate
1802
+ * — where text lays out, clips and scrolls — is the box deflated by this on
1803
+ * every side: the ink band and an equal breathing band, so the text never
1804
+ * touches the stroke. Acrobat's rule, measured 1–12 pt on plain boxes and
1805
+ * 1–7 pt on callouts (plan `2026-09-15-free-text-plate-inset.md`); the
1806
+ * engine's `FreeTextPlate` is the same formula, so the live editor sits
1807
+ * exactly where the baked text lands. Acrobat's thinnest border is 1 pt; a
1808
+ * width of 0 is ours alone and gives no inset (the plate is the box).
1809
+ */
1810
+ declare function textPlateInset(strokeWidth: number): number;
1711
1811
  declare function geomScene(g: Geom, strokeWidth?: number, border?: Border): RenderNode[];
1712
1812
  declare const pdfToContentPoint: (p: PdfPoint, crop: PdfRect) => Vec;
1713
1813
  declare const contentToPdfPoint: (p: Vec, crop: PdfRect) => PdfPoint;
@@ -1744,5 +1844,5 @@ declare function scene(item: RenderItem): SceneNode[];
1744
1844
  */
1745
1845
  declare function straightenInkStroke(points: readonly Vec[], options: InkStraightenOptions): Vec[];
1746
1846
  //#endregion
1747
- export { type AnchorMode, type Annot, type AnnotationFlags, type AnnotationKind, type AnnotationProps, type AnnotationPropsPatch, type BlendMode, type Border, type Callout, type ChromeGeom, type ChromeNode, type ClickCreate, type ClickPlacement, type CreationDraftAnchor, type Cursor, DEFAULT_CHROME_GEOM, DRAWN_FLAGS, type Draft, type Effect, FLAG_KEYS, type FlagBearer, type Geom, type GroupCaps, type Guide, type Handle, type Id, type InkStraightenOptions, KINDS, type KindCaps, type LineEnding, type LineEndings, MIN_DRAG, MITER_LIMIT, type Model, type Msg, NO_ANNOTATION_FLAGS, type Paint, type PatchScope, type PointerInput, type PropKey, type PropSpec, type Quad, RECT_HANDLES, ROTATE_KNOB_OFFSET, type Rect, type RectHandle, type RenderItem, type RenderNode, type SceneNode, type SnapResult, type SnapSettings, type Style, type Subtype, type Target, type TextAlign, type TextBox, type TextEndAnchor, type TextQuad, type TextStyle, type Vec, type ViewEnv, anchorModeOf, anchorOf, anchoredBox, anchoredGeom, anchoredStrokeWidth, annotContentsEditable, annotDeletable, annotInteractive, annotTransformable, applyProps, calloutConnection, calloutLinePoints, canMove, capsFor, caretGeomFromAnchor, caretRectFromAnchor, caretRectFromTextEnd, centroidOf, chrome, clampRectToBox, clickCreateGeom, cloudyBorderExtent, cloudyPath, computeMoveSnap, contentToPdfPoint, contentToPdfRect, creationDraftAnchor, cursorAt, defaultsFor, expandGroups, fitStampBox, flagsEqual, geomBounds, geomDragHandle, geomHandles, geomHit, geomPdfBounds, geomResetRotation, geomRotateAbout, geomRotation, geomScaleAbout, geomScene, geomTranslate, geomVisualBounds, groupCaps, groupKeyOf, groupMembers, groupResizeAnchor, groupResizeBox, groupResizeFactors, hitTest, initialModel, initialStyle, initialTextStyle, interactive, isAttachedLink, isConversationOnly, isRotatableGeom, isSelectable, isSubstrateOnly, linkChildrenOf, linkOf, mergeFlags, normalizeDeg, obbFromGeom, pageItems, pdfToContentPoint, pdfToContentRect, placeRotateKnob, pointInQuad, propsFor, quadIntersectsRect, readProp, rectFromPoints, resolveClickPlacement, rotateDraftDelta, rotateKnob, rotatedAabb, rotatedHandleCursor, scene, selectedItems, selectionAnchor, selectionBounds, selectionBoundsOnPage, selectionCenter, selectionKnob, selectionQuad, shapeRectFor, sharedProps, straightenInkStroke, styleFromProps, textBoxes, textStyleFromProps, transposedAboutCenter, unanchoredGeom, unionRect, update, uprightAnchoredRect, uprightRotation, viewable };
1847
+ export { type AnchorMode, type Annot, type AnnotationFlags, type AnnotationKind, type AnnotationProps, type AnnotationPropsPatch, type BlendMode, type Border, type Callout, type ChromeGeom, type ChromeNode, type ClickCreate, type ClickPlacement, type CreationDraftAnchor, type Cursor, DEFAULT_CHROME_GEOM, DRAWN_FLAGS, type Draft, type Effect, FLAG_KEYS, type FlagBearer, type Geom, type GroupCaps, type Guide, type Handle, type Id, type InkStraightenOptions, KINDS, type KindCaps, type LineEnding, type LineEndings, MIN_DRAG, MITER_LIMIT, type Model, type Msg, NO_ANNOTATION_FLAGS, type Paint, type PatchScope, type PointerInput, type PropKey, type PropSpec, type Quad, RECT_HANDLES, ROTATE_KNOB_OFFSET, type Rect, type RectHandle, type RenderItem, type RenderNode, type RichTextRange, type RichTextStyleDelta, type SceneNode, type SnapResult, type SnapSettings, type Style, type Subtype, type Target, type TextAlign, type TextBox, type TextEndAnchor, type TextQuad, type TextStyle, type Vec, type ViewEnv, anchorModeOf, anchorOf, anchoredBox, anchoredGeom, anchoredStrokeWidth, annotContentsEditable, annotDeletable, annotInteractive, annotTransformable, applyProps, applyStyleToRange, calloutConnection, calloutLinePoints, canMove, capsFor, caretGeomFromAnchor, caretRectFromAnchor, caretRectFromTextEnd, centroidOf, chrome, clampRectToBox, clickCreateGeom, cloudyBorderExtent, cloudyPath, computeMoveSnap, contentToPdfPoint, contentToPdfRect, creationDraftAnchor, cursorAt, defaultsFor, expandGroups, fitStampBox, flagsEqual, geomBounds, geomDragHandle, geomHandles, geomHit, geomPdfBounds, geomResetRotation, geomRotateAbout, geomRotation, geomScaleAbout, geomScene, geomTranslate, geomVisualBounds, groupCaps, groupKeyOf, groupMembers, groupResizeAnchor, groupResizeBox, groupResizeFactors, hitTest, initialModel, initialStyle, initialTextStyle, interactive, isAttachedLink, isConversationOnly, isPlainRichText, isRotatableGeom, isSelectable, isSubstrateOnly, linkChildrenOf, linkOf, locateOffset, mergeFlags, normalizeDeg, normalizeRuns, obbFromGeom, pageItems, paragraphsFromPlainText, pdfToContentPoint, pdfToContentRect, placeRotateKnob, plainTextOf, pointInQuad, propsFor, quadIntersectsRect, rangeHasStyle, readProp, rectFromPoints, resolveClickPlacement, richTextLength, rotateDraftDelta, rotateKnob, rotatedAabb, rotatedHandleCursor, sameStyleDelta, scene, selectedItems, selectionAnchor, selectionBounds, selectionBoundsOnPage, selectionCenter, selectionKnob, selectionQuad, shapeRectFor, sharedProps, splitRunsAt, straightenInkStroke, styleAt, styleFromProps, textBoxes, textPlateInset, textStyleFromProps, transposedAboutCenter, unanchoredGeom, unionRect, update, uprightAnchoredRect, uprightRotation, viewable };
1748
1848
  //# sourceMappingURL=index.d.ts.map