@quillmark/wasm 0.114.0 → 0.116.0

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/core/wasm.d.ts CHANGED
@@ -13,13 +13,6 @@ export type PayloadItem =
13
13
  type: "field";
14
14
  key: string;
15
15
  value: unknown;
16
- fill?: boolean;
17
- /**
18
- * Paths to `!must_fill` markers nested *inside* `value` (the `value`
19
- * projection itself is fill-free). Absent when the field has no nested
20
- * placeholders. Preserved across `insertCard`.
21
- */
22
- nestedFills?: PathStep[][];
23
16
  }
24
17
  | { type: "comment"; text: string; inline?: boolean };
25
18
 
@@ -27,9 +20,9 @@ export type PayloadItem =
27
20
  * A single card block, as read back from a document. Every `Card` is a valid
28
21
  * `CardInput`, so a card read from one document pushes straight into another.
29
22
  *
30
- * `$` system entries are hoisted to named fields: `kind` (the `$kind`, empty
31
- * string when none), `quill` (`$quill` `name@version`, main card only), `ext`
32
- * (`$ext`), and `seed` (the `$seed` per-kind overlay map, main card only).
23
+ * `$` system entries are hoisted to named fields: `kind` (the `$kind`),
24
+ * `quill` (`$quill` `name@version`, main card only), `ext` (`$ext`), and
25
+ * `seed` (the `$seed` per-kind overlay map, main card only).
33
26
  * `payloadItems` carries user fields and comments in order.
34
27
  */
35
28
  export interface Card {
@@ -73,9 +66,9 @@ export interface Content {
73
66
  }
74
67
 
75
68
  /** One `\n`-separated segment of `Content.text`, in order. `kind` is a closed
76
- * set: a role outside it is refused wherever content is decoded. Every role
77
- * spells its payload in `attrs`, so `kind === "heading"` narrows `attrs` to
78
- * `{ level: number }` with no guard. */
69
+ * set: `island` reads as `para`, and any other role outside it is refused
70
+ * wherever content is decoded. Every role spells its payload in `attrs`, so
71
+ * `kind === "heading"` narrows `attrs` to `{ level: number }` with no guard. */
79
72
  export type ContentLine = {
80
73
  containers: ContentContainer[];
81
74
  /** A within-block hard line break rather than a new block. Omitted (false) in the common case. */
@@ -87,7 +80,6 @@ export type ContentLineKind =
87
80
  | { kind: "para" }
88
81
  | { kind: "heading"; attrs: { level: number } }
89
82
  | { kind: "code"; attrs?: { lang?: string } }
90
- | { kind: "island" }
91
83
  | { kind: "rule" };
92
84
 
93
85
  /** An ancestor block a line nests inside, outermost first. Closed like
@@ -158,14 +150,10 @@ export interface ImageProps {
158
150
  alt: string;
159
151
  }
160
152
 
161
- /** How faithfully the markdown projection can carry an island. */
162
- export type ContentLossClass = "lossless" | "degraded" | "unrepresentable";
163
-
164
153
  /** A structured object occupying one island slot in `Content.text`. `type` is a
165
154
  * closed set, so `type === "table"` narrows `props` to `TableProps`. */
166
155
  export type ContentIsland = {
167
156
  id: string;
168
- loss: ContentLossClass;
169
157
  } & (
170
158
  | { type: "table"; props: TableProps }
171
159
  | { type: "image"; props: ImageProps }
@@ -237,10 +225,12 @@ export type MarkOp =
237
225
  * metadata. `setContinues` sets or clears a line's within-block hard-break flag
238
226
  * (`ContentLine.continues`); `continues: true` lands as `false` on line 0, which
239
227
  * nothing precedes, on a line whose containers differ from the line above, and
240
- * on one following a heading, island or rule, each a block of one line.
241
- * `setKind` lands a kind the line's text contradicts — `island` or `rule` over
228
+ * on one following a heading, a rule or a block island's line, each a block of
229
+ * one line. `setKind` lands a kind the line's text contradicts — `rule` over
242
230
  * prose, `code` over a slot — as `para`, which is what re-importing the line's
243
- * own markdown yields. Read the content back to see where an op settled.
231
+ * own markdown yields, and reads an `island` the union does not offer as the
232
+ * `para` that spelling projects. Read the content back to see where an op
233
+ * settled.
244
234
  */
245
235
  export type LineOp =
246
236
  | { op: "split"; at: number }
@@ -264,22 +254,16 @@ export type LineOp =
264
254
  * one `insert` per slot.
265
255
  *
266
256
  * Deleting an island needs no op: a `delta` that removes its slot drops the
267
- * island whole, and a block island's line demotes to `para`. Re-landing it is an
268
- * `insert` of the full island under its original id; a pasted copy of a live
269
- * island mints a fresh one.
270
- *
271
- * A `set` stores the `loss` it is given; nothing re-derives the class from the
272
- * new `props`.
257
+ * island whole. Re-landing it is an `insert` of the full island under its
258
+ * original id; a pasted copy of a live island mints a fresh one.
273
259
  *
274
260
  * An island is *inline* (a slot inside a paragraph) or a **block** (that slot
275
- * alone on a line under `kind: "island"`), and for a slot alone on a line the
276
- * type settles which: markdown writes a `table` as a block and an image inline,
277
- * so the line's `kind` is read off the type and a `setKind` spelling it
278
- * otherwise does not survive. Landing a block island is one bundle of all three
279
- * channels, in the order they apply: `delta` inserts the `\n` that opens the
280
- * line, `islandOps` inserts the slot, `lineOps` tags the line
281
- * `{ op: "setKind", kind: "island" }`. `{ op: "split" }` cannot open that line,
282
- * since line ops run after island ops.
261
+ * alone on its own line), and the type settles which: markdown writes a `table`
262
+ * as a block and an image inline. Both lines read `kind: "para"` — the block is
263
+ * the slot's markup, not a role the line carries — so landing a block island is
264
+ * two channels: `delta` inserts the `\n` that opens the line, `islandOps`
265
+ * inserts the slot. `{ op: "split" }` cannot open that line, since line ops run
266
+ * after island ops.
283
267
  *
284
268
  * A `table` has no inline placement: markdown writes it as a block, so an
285
269
  * `insert` whose `at` is not an empty line throws, as does a `set` retyping an
@@ -366,11 +350,11 @@ export interface ResolvedMain {
366
350
 
367
351
  /**
368
352
  * One composable card's resolved rows in declaration order, with its authored
369
- * `kind` (`null` for an unknown-kind card), its document-array `index`, and its
353
+ * `kind` (an undeclared one included), its document-array `index`, and its
370
354
  * body row: `null` when the kind enables no body.
371
355
  */
372
356
  export interface ResolvedCard {
373
- kind: string | null;
357
+ kind: string;
374
358
  index: number;
375
359
  fields: ResolvedField[];
376
360
  body: ResolvedField | null;
@@ -378,7 +362,7 @@ export interface ResolvedCard {
378
362
 
379
363
  /**
380
364
  * The resolved-value view (`Quill.resolve`): the main card and every composable
381
- * card. Value and provenance only; completeness stays `Quill.validate`'s.
365
+ * card. Value and provenance only; diagnostics stay `Quill.validate`'s.
382
366
  */
383
367
  export interface Resolved {
384
368
  main: ResolvedMain;
@@ -390,7 +374,6 @@ export interface Resolved {
390
374
  /** UI layout hints for a single field. Display order is not a hint: key order
391
375
  * in the schema's `fields`/`properties` objects is the ordering contract. */
392
376
  export interface QuillFieldUi {
393
- title?: string;
394
377
  group?: string;
395
378
  compact?: boolean;
396
379
  multiline?: boolean;
@@ -398,9 +381,10 @@ export interface QuillFieldUi {
398
381
  * conventional label of its own. */
399
382
  blank_title?: string;
400
383
  /** The control the field asks for, where the shape admits more than one.
401
- * A request, not a contract: a consumer that cannot draw it falls back to
402
- * its own choice for the type. `"table"` is valid only on an `array`
403
- * whose `items` is an `object`. */
384
+ * `"table"` is valid only on an `array` whose `items` is an `object`.
385
+ * Every column is a leaf, a contract refused at load as
386
+ * `quill::table_column_not_flat`. Drawing the grid is a request: a
387
+ * consumer that cannot falls back to its own choice for the type. */
404
388
  layout?: "table";
405
389
  }
406
390
 
@@ -413,63 +397,52 @@ export interface QuillGroupUi {
413
397
 
414
398
  /** UI layout hints for a card (main or named card kind). */
415
399
  export interface QuillCardUi {
416
- title?: string;
417
400
  /** The groups a field's `ui.group` may reference, keyed by group id. Key
418
401
  * order is the display-order contract, as with `fields`. Absent when the
419
402
  * card declares no groups. */
420
403
  groups?: Record<string, QuillGroupUi>;
421
404
  }
422
405
 
423
- /** A block construct a body can hold. `paragraph` is the floor and cannot be
424
- * declined, so it is absent. */
425
- export type QuillBlockConstruct =
426
- | "heading"
427
- | "rule"
428
- | "code"
429
- | "list"
430
- | "quote"
431
- | "table"
432
- | "image";
433
-
434
406
  /** Body namespace for a card (main or named card kind). */
435
407
  export interface QuillCardBody {
436
408
  /** When false, consumers must not accept or store body content for this card kind. Defaults to true. */
437
409
  enabled?: boolean;
438
- /** Example body content embedded verbatim in the blueprint body region. Fallback is "Write <card> body here." */
410
+ /** Example body content, shown on the blueprint's `# body e.g.` line above the body. */
439
411
  example?: string;
440
- /** Block constructs this quill's plate does not typeset in this body;
441
- * absent or empty declines nothing. A body that holds one anyway draws a
442
- * non-fatal `plate::unsupported_construct` warning. Nothing verifies the
443
- * claim: absence from this list is not a promise the plate typesets it. */
444
- unsupported?: QuillBlockConstruct[];
445
412
  }
446
413
 
414
+ export type QuillFieldType = "string" | "number" | "integer" | "boolean" | "array" | "object" | "date" | "datetime" | "richtext" | "plaintext" | "enum" | "matrix";
415
+
447
416
  /** Schema entry for a single field declared in a quill's `Quill.yaml`.
448
417
  *
449
- * One declaration, and no `required` key. `default` and `example` say what the
450
- * cell holds, and `default`'s absence is the obligation: a field nobody
451
- * declared a value for carries a `!must_fill` marker in the blueprint and warns
452
- * `validation::must_fill` while the document leaves it unauthored. Neither
453
- * gates render: an absent field blank-fills.
418
+ * `default` is the value an unanswered cell renders; `example` documents shape
419
+ * and never renders. An absent field without a `default` blank-fills.
454
420
  */
455
421
  export interface QuillFieldSchema {
456
- type: "string" | "number" | "integer" | "boolean" | "array" | "object" | "date" | "datetime" | "richtext" | "plaintext" | "enum" | "matrix";
422
+ /** A trailing `?` marks the cell optional: unanswered, it renders `none`
423
+ * rather than its type's blank, and it never carries a `default`. A
424
+ * consumer offers a way back to unanswered (`removeField`) on such a cell. */
425
+ type: QuillFieldType | `${Exclude<QuillFieldType, "object" | "matrix">}?`;
426
+ /** The field's label, a literal. Absent, the consumer humanizes the key
427
+ * (`memo_for` → "Memo For"). Never present on an array's `items`. */
428
+ title?: string;
457
429
  description?: string;
458
430
  default?: unknown;
459
431
  example?: unknown;
460
432
  /** The closed set of allowed values. Required on `type: "enum"`, and valid
461
433
  * nowhere else. */
462
434
  values?: string[];
463
- /** Per-member field sets on a card-level `type: "enum"` field, keyed by
464
- * member: the fields that exist only where the discriminant holds that
465
- * member. Declaring it makes the field rest as a container,
466
- * `{value: <member>, …that member's fields}`, rather than a bare string. */
435
+ /** Per-member field sets on a `type: "enum"` field that is a card's own
436
+ * field or a typed dictionary's property, keyed by member: the fields that
437
+ * exist only where the discriminant holds that member. Declaring it makes
438
+ * the field rest as a container, `{value: <member>, …that member's
439
+ * fields}`, rather than a bare string. */
467
440
  variants?: Record<string, Record<string, QuillFieldSchema>>;
468
441
  /** The roster of a `type: "matrix"` field, required there and valid
469
- * nowhere else: the closed vocabulary a document ticks, in display order.
442
+ * nowhere else: member id to display title, key order the display order.
470
443
  * Each member is an object of `held` plus the field's `properties`
471
444
  * (the columns), addressed as `<field>.<member id>.held`. */
472
- members?: QuillMatrixGroup[];
445
+ members?: Record<string, string>;
473
446
  ui?: QuillFieldUi;
474
447
  properties?: Record<string, QuillFieldSchema>;
475
448
  items?: QuillFieldSchema;
@@ -482,15 +455,11 @@ export interface QuillFieldSchema {
482
455
  inline?: boolean;
483
456
  }
484
457
 
485
- /** One block of a `type: "matrix"` roster: an optional display heading and the
486
- * members under it, member id to display title. Key order is display order. */
487
- export interface QuillMatrixGroup {
488
- group?: string;
489
- values: Record<string, string>;
490
- }
491
-
492
458
  /** Schema entry for the main card or a named card kind. */
493
459
  export interface QuillCardSchema {
460
+ /** The kind's label, a literal. Absent, the consumer humanizes the kind
461
+ * name. An instance takes its label from its own values. */
462
+ title?: string;
494
463
  description?: string;
495
464
  fields: Record<string, QuillFieldSchema>;
496
465
  ui?: QuillCardUi;
@@ -572,11 +541,6 @@ export class Document {
572
541
  * building `markOps` need not predict it.
573
542
  */
574
543
  applyChange(addr: Addr | string, bundle: ChangeBundle): void;
575
- /**
576
- * A blueprint's fill obligation for the given `quillName`, re-exposed from
577
- * core. Carries no tool name: pair it with your own next-step directive.
578
- */
579
- static blueprintInstruction(quill_name: string): string;
580
544
  /**
581
545
  * The **body** markdown projection: an on-demand, lossy export (content-only
582
546
  * marks do not survive markdown). A body's type is a format fact, not a
@@ -610,11 +574,6 @@ export class Document {
610
574
  * Structural equality, excluding parse-time `warnings`.
611
575
  */
612
576
  equals(other: Document): boolean;
613
- /**
614
- * Authoring-format rules for the card-yaml markdown surface, re-exposed from
615
- * core. Constant across calls; read once and cache.
616
- */
617
- static formatRules(): string;
618
577
  /**
619
578
  * Parse markdown into a typed Document. Throws on parse errors.
620
579
  */
@@ -660,12 +619,6 @@ export class Document {
660
619
  * `at` is out of range.
661
620
  */
662
621
  insertCard(card: CardInput, at?: number): void;
663
- /**
664
- * Whether the field at `addr` is marked `!must_fill`. A bare string is `Addr`
665
- * shorthand for `{ field }`. `false` for an absent field and for a body
666
- * address; only an out-of-range `addr.card` throws.
667
- */
668
- isFill(addr: Addr | string): boolean;
669
622
  /**
670
623
  * Replace this document's contents **in place** from a versioned storage DTO
671
624
  * string: the mutating twin of [`fromStored`](Document::from_stored).
@@ -674,6 +627,11 @@ export class Document {
674
627
  * variable.
675
628
  */
676
629
  loadStored(json: string): void;
630
+ /**
631
+ * The Quillmark Markdown rules, re-exposed from core. Constant across
632
+ * calls; read once and cache.
633
+ */
634
+ static markdownRules(): string;
677
635
  /**
678
636
  * Move the card at `from` to position `to`. `from == to` is a no-op.
679
637
  */
@@ -682,8 +640,8 @@ export class Document {
682
640
  * A blank document: a main card carrying only `$quill`, an empty body, and
683
641
  * no composable cards. Absent fields resolve at render time (`default`, else
684
642
  * the field's blank), so nothing the caller did not set reaches the output.
685
- * For an example-filled starter use `Quill.seedDocument()`. Throws on an
686
- * invalid quill reference.
643
+ * For one instance of every card kind use `Quill.seedDocument()`. Throws on
644
+ * an invalid quill reference.
687
645
  */
688
646
  constructor(quill_ref: string);
689
647
  /**
@@ -780,7 +738,7 @@ export class Document {
780
738
  * Store a field verbatim at `addr`, deferring coercion to render; the typed
781
739
  * write is [`commitField`](Document::commit_field). A bare string is `Addr`
782
740
  * shorthand for `{ field }`; `{ card: 2, field: "qty" }` targets a
783
- * composable card. Clears any `!must_fill` marker. A body address throws:
741
+ * composable card. A body address throws:
784
742
  * write a body with `revise` / `overwrite`. Throws on an out-of-range card
785
743
  * or a malformed name.
786
744
  */
@@ -793,11 +751,6 @@ export class Document {
793
751
  * one entry per offending field. Throws on an out-of-range card.
794
752
  */
795
753
  storeFields(addr: CardAddr, fields: Record<string, unknown>): void;
796
- /**
797
- * Store a field verbatim at `addr` and mark it `!must_fill`. A body address
798
- * throws; same validation as [`storeField`](Document::store_field).
799
- */
800
- storeFill(addr: Addr | string, value: any): void;
801
754
  /**
802
755
  * Merge a card-kind's seed `overlay` into the **main** card's `$seed` map
803
756
  * under `cardKind`, preserving sibling kinds; `$seed` is main-only, so this
@@ -847,12 +800,19 @@ export class Quill {
847
800
  * transport door (`fromMarkdown`, `fromStored`, a stored row).
848
801
  *
849
802
  * Idempotent: an equal value is not rewritten, so YAML comments and stored
850
- * bytes survive. A `!must_fill` marker anywhere in a field's value skips
851
- * that field, and a value the strict write refuses stays as authored with a
803
+ * bytes survive. A value the strict write refuses stays as authored with a
852
804
  * diagnostic. Throws when `doc` declares a different `$quill`, before any
853
805
  * mutation.
854
806
  */
855
807
  conform(doc: Document): Diagnostic[];
808
+ /**
809
+ * The empty document: a main card carrying this quill's `$quill` and
810
+ * `$kind: main`, no field committed, no composable card, no body. The
811
+ * type-minimal valid input, and the document a plate is bound to render
812
+ * (the quill authoring contract). `new Document(ref)` is the same document
813
+ * reached by spelling the reference.
814
+ */
815
+ emptyDocument(): Document;
856
816
  /**
857
817
  * Build a quill from a file tree. Pure: the declared backend is resolved
858
818
  * later, at render time. Accepts a `Map<string, Uint8Array>` or a plain
@@ -874,9 +834,9 @@ export class Quill {
874
834
  parse(markdown: string): Document;
875
835
  /**
876
836
  * Seed a starter composable `Card` of the given kind (carries `$kind`),
877
- * layering an optional per-kind seed `overlay` over the schema-example base
878
- * (`overlay › example › absent`). `undefined` when `cardKind` is not
879
- * declared in this quill's schema.
837
+ * committing an optional per-kind seed `overlay`'s fields and `$body`
838
+ * (`overlay › absent`, body `overlay › empty`). `undefined` when
839
+ * `cardKind` is not declared in this quill's schema.
880
840
  *
881
841
  * Pass `document.seedOverlay(cardKind)` as `overlay` so a card added to a
882
842
  * template-derived document inherits its curated starting values; omit it
@@ -885,9 +845,9 @@ export class Quill {
885
845
  seedCard(card_kind: string, overlay: Record<string, unknown> | undefined): Card | undefined;
886
846
  /**
887
847
  * Seed a starter `Document` from the schema: the main card plus one instance
888
- * of each composable card kind, each committing its fields' `example:`
889
- * values and leaving every other field absent (interpolated at render as
890
- * `default:`, else the field's blank). A field with both renders its example.
848
+ * of each composable card kind, each body empty and every field absent
849
+ * (interpolated at render as `default:`, else the field's blank). No
850
+ * `example:` is committed (a field's or `body.example`).
891
851
  */
892
852
  seedDocument(): Document;
893
853
  /**
@@ -908,8 +868,7 @@ export class Quill {
908
868
  /**
909
869
  * Validate `doc` against this quill's schema, returning every diagnostic
910
870
  * (empty when the document is valid). Forwards the canonical
911
- * `validation::*` diagnostics the engine emits, including the non-fatal
912
- * `validation::must_fill` warning per `!must_fill` marker left behind.
871
+ * `validation::*` diagnostics the engine emits.
913
872
  */
914
873
  validate(doc: Document): Diagnostic[];
915
874
  /**
@@ -971,6 +930,22 @@ export function formatDocPath(segs: DocPathSeg[]): string;
971
930
  */
972
931
  export function importMarkdown(markdown: string): Content;
973
932
 
933
+ /**
934
+ * Whether `content` satisfies the `inline` constraint of `richtext` and
935
+ * `plaintext`: one `Para` line, in no container, with no islands. Judged on
936
+ * the normalized content, which is what a write stores. Throws if `content` is
937
+ * not canonical content.
938
+ */
939
+ export function isInline(content: Content): boolean;
940
+
941
+ /**
942
+ * Whether `content` satisfies the `plaintext` constraint: no marks, no
943
+ * islands, every line a `Para` in no container. Judged on the normalized
944
+ * content, which is what a write stores. Throws if `content` is not canonical
945
+ * content.
946
+ */
947
+ export function isPlain(content: Content): boolean;
948
+
974
949
  /**
975
950
  * Where `bundle`'s text-moving channels (`delta`, then `islandOps`, then
976
951
  * `lineOps`) leave `content`'s marks: the final-text coordinates the bundle's
@@ -1036,7 +1011,6 @@ export interface InitOutput {
1036
1011
  readonly document__readerGetContentAt: (a: number, b: number, c: number, d: number, e: number) => void;
1037
1012
  readonly document__reviseField: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
1038
1013
  readonly document_applyChange: (a: number, b: number, c: number, d: number) => void;
1039
- readonly document_blueprintInstruction: (a: number, b: number, c: number) => void;
1040
1014
  readonly document_bodyMarkdown: (a: number, b: number, c: number) => void;
1041
1015
  readonly document_card: (a: number, b: number, c: number) => void;
1042
1016
  readonly document_cardCount: (a: number) => number;
@@ -1045,15 +1019,14 @@ export interface InitOutput {
1045
1019
  readonly document_clone: (a: number) => number;
1046
1020
  readonly document_currentStorageVersion: (a: number) => void;
1047
1021
  readonly document_equals: (a: number, b: number) => number;
1048
- readonly document_formatRules: (a: number) => void;
1049
1022
  readonly document_fromMarkdown: (a: number, b: number, c: number) => void;
1050
1023
  readonly document_fromStored: (a: number, b: number, c: number) => void;
1051
1024
  readonly document_getExt: (a: number, b: number, c: number) => void;
1052
1025
  readonly document_getStored: (a: number, b: number, c: number) => void;
1053
1026
  readonly document_insertCard: (a: number, b: number, c: number, d: number) => void;
1054
- readonly document_isFill: (a: number, b: number, c: number) => void;
1055
1027
  readonly document_loadStored: (a: number, b: number, c: number, d: number) => void;
1056
1028
  readonly document_main: (a: number, b: number) => void;
1029
+ readonly document_markdownRules: (a: number) => void;
1057
1030
  readonly document_moveCard: (a: number, b: number, c: number, d: number) => void;
1058
1031
  readonly document_new: (a: number, b: number, c: number) => void;
1059
1032
  readonly document_overwrite: (a: number, b: number, c: number, d: number) => void;
@@ -1071,7 +1044,6 @@ export interface InitOutput {
1071
1044
  readonly document_storeExt: (a: number, b: number, c: number, d: number) => void;
1072
1045
  readonly document_storeField: (a: number, b: number, c: number, d: number) => void;
1073
1046
  readonly document_storeFields: (a: number, b: number, c: number, d: number) => void;
1074
- readonly document_storeFill: (a: number, b: number, c: number, d: number) => void;
1075
1047
  readonly document_storeSeedOverlay: (a: number, b: number, c: number, d: number, e: number) => void;
1076
1048
  readonly document_toMarkdown: (a: number, b: number) => void;
1077
1049
  readonly document_toStored: (a: number, b: number) => void;
@@ -1080,13 +1052,16 @@ export interface InitOutput {
1080
1052
  readonly formatDiagnostic: (a: number, b: number) => void;
1081
1053
  readonly formatDocPath: (a: number, b: number) => void;
1082
1054
  readonly importMarkdown: (a: number, b: number, c: number) => void;
1055
+ readonly isInline: (a: number, b: number) => void;
1056
+ readonly isPlain: (a: number, b: number) => void;
1083
1057
  readonly mapMarks: (a: number, b: number, c: number) => void;
1084
1058
  readonly mapPos: (a: number, b: number, c: number, d: number) => void;
1085
1059
  readonly parseDocPath: (a: number, b: number, c: number) => void;
1086
- readonly quill__resolve: (a: number, b: number, c: number) => void;
1060
+ readonly quill__resolve: (a: number, b: number, c: number, d: number, e: number) => void;
1087
1061
  readonly quill_backendId: (a: number, b: number) => void;
1088
1062
  readonly quill_blueprint: (a: number, b: number) => void;
1089
1063
  readonly quill_conform: (a: number, b: number, c: number) => void;
1064
+ readonly quill_emptyDocument: (a: number) => number;
1090
1065
  readonly quill_fromTree: (a: number, b: number) => void;
1091
1066
  readonly quill_metadata: (a: number, b: number) => void;
1092
1067
  readonly quill_parse: (a: number, b: number, c: number, d: number) => void;