lib0 0.2.112 → 0.2.115-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.
Files changed (331) hide show
  1. package/README.md +1 -1
  2. package/broadcastchannel.js +1 -1
  3. package/buffer.d.ts +3 -3
  4. package/buffer.d.ts.map +1 -1
  5. package/buffer.js +1 -1
  6. package/coverage/tmp/coverage-27667-1761218530660-0.json +1 -0
  7. package/coverage/tmp/{coverage-20055-1752683207886-0.json → coverage-27668-1761218485882-0.json} +1 -1
  8. package/crypto/aes-gcm.d.ts +4 -4
  9. package/crypto/aes-gcm.d.ts.map +1 -1
  10. package/crypto/aes-gcm.js +6 -6
  11. package/crypto/common.d.ts +1 -1
  12. package/crypto/common.d.ts.map +1 -1
  13. package/crypto/common.js +1 -1
  14. package/crypto/ecdsa.d.ts +2 -2
  15. package/crypto/ecdsa.d.ts.map +1 -1
  16. package/crypto/ecdsa.js +4 -4
  17. package/crypto/rsa-oaep.d.ts +2 -2
  18. package/crypto/rsa-oaep.d.ts.map +1 -1
  19. package/crypto/rsa-oaep.js +3 -3
  20. package/decoding.d.ts +27 -14
  21. package/decoding.d.ts.map +1 -1
  22. package/decoding.js +12 -8
  23. package/delta/abstract-array.d.ts +166 -0
  24. package/delta/abstract-array.d.ts.map +1 -0
  25. package/delta/abstract-array.js +421 -0
  26. package/delta/abstract.d.ts +69 -0
  27. package/delta/abstract.d.ts.map +1 -0
  28. package/delta/abstract.js +102 -0
  29. package/delta/array.d.ts +23 -0
  30. package/delta/array.d.ts.map +1 -0
  31. package/delta/array.js +45 -0
  32. package/delta/array.test.d.ts +2 -0
  33. package/delta/array.test.d.ts.map +1 -0
  34. package/delta/binding.d.ts +105 -0
  35. package/delta/binding.d.ts.map +1 -0
  36. package/delta/binding.js +369 -0
  37. package/delta/binding.test.d.ts +5 -0
  38. package/delta/binding.test.d.ts.map +1 -0
  39. package/delta/d2.d.ts +705 -0
  40. package/delta/d2.d.ts.map +1 -0
  41. package/delta/d2.js +1309 -0
  42. package/delta/d2.test.d.ts +15 -0
  43. package/delta/d2.test.d.ts.map +1 -0
  44. package/delta/index.d.ts +14 -0
  45. package/delta/index.d.ts.map +1 -0
  46. package/delta/index.js +79 -0
  47. package/delta/map.d.ts +230 -0
  48. package/delta/map.d.ts.map +1 -0
  49. package/delta/map.js +304 -0
  50. package/delta/node.d.ts +119 -0
  51. package/delta/node.d.ts.map +1 -0
  52. package/delta/node.js +183 -0
  53. package/delta/node.test.d.ts +4 -0
  54. package/delta/node.test.d.ts.map +1 -0
  55. package/delta/ops.d.ts +466 -0
  56. package/delta/ops.d.ts.map +1 -0
  57. package/delta/ops.js +544 -0
  58. package/delta/readme.md +129 -0
  59. package/delta/text.d.ts +43 -0
  60. package/delta/text.d.ts.map +1 -0
  61. package/delta/text.js +54 -0
  62. package/delta/text.test.d.ts +6 -0
  63. package/delta/text.test.d.ts.map +1 -0
  64. package/delta/transformer.d.ts +164 -0
  65. package/delta/transformer.d.ts.map +1 -0
  66. package/delta/transformer.js +888 -0
  67. package/delta/transformer.test.d.ts +13 -0
  68. package/delta/transformer.test.d.ts.map +1 -0
  69. package/delta/value.d.ts +84 -0
  70. package/delta/value.d.ts.map +1 -0
  71. package/delta/value.js +168 -0
  72. package/dist/abstract-array.cjs +433 -0
  73. package/dist/abstract-array.cjs.map +1 -0
  74. package/dist/abstract.cjs +122 -0
  75. package/dist/abstract.cjs.map +1 -0
  76. package/dist/aes-gcm.cjs +12 -12
  77. package/dist/aes-gcm.cjs.map +1 -1
  78. package/dist/array.cjs +60 -17
  79. package/dist/array.cjs.map +1 -1
  80. package/dist/array2.cjs +26 -0
  81. package/dist/array2.cjs.map +1 -0
  82. package/dist/binding.cjs +398 -0
  83. package/dist/binding.cjs.map +1 -0
  84. package/dist/{broadcastchannel-2c4b0a1c.cjs → broadcastchannel-b4eaea6e.cjs} +4 -4
  85. package/dist/broadcastchannel-b4eaea6e.cjs.map +1 -0
  86. package/dist/broadcastchannel.cjs +12 -12
  87. package/dist/{buffer-a74f7330.cjs → buffer-adc4e6ea.cjs} +7 -7
  88. package/dist/buffer-adc4e6ea.cjs.map +1 -0
  89. package/dist/buffer.cjs +11 -11
  90. package/dist/buffer.d.ts +3 -3
  91. package/dist/buffer.d.ts.map +1 -1
  92. package/dist/cache.cjs +6 -6
  93. package/dist/common.cjs +1 -1
  94. package/dist/common.cjs.map +1 -1
  95. package/dist/component.cjs +14 -9
  96. package/dist/component.cjs.map +1 -1
  97. package/dist/crypto/aes-gcm.d.ts +4 -4
  98. package/dist/crypto/aes-gcm.d.ts.map +1 -1
  99. package/dist/crypto/common.d.ts +1 -1
  100. package/dist/crypto/common.d.ts.map +1 -1
  101. package/dist/crypto/ecdsa.d.ts +2 -2
  102. package/dist/crypto/ecdsa.d.ts.map +1 -1
  103. package/dist/crypto/rsa-oaep.d.ts +2 -2
  104. package/dist/crypto/rsa-oaep.d.ts.map +1 -1
  105. package/dist/d2.cjs +1347 -0
  106. package/dist/d2.cjs.map +1 -0
  107. package/dist/{decoding-2b136346.cjs → decoding-50b9ce38.cjs} +18 -14
  108. package/dist/decoding-50b9ce38.cjs.map +1 -0
  109. package/dist/decoding.cjs +6 -6
  110. package/dist/decoding.d.ts +27 -14
  111. package/dist/decoding.d.ts.map +1 -1
  112. package/dist/delta/abstract-array.d.ts +166 -0
  113. package/dist/delta/abstract-array.d.ts.map +1 -0
  114. package/dist/delta/abstract.d.ts +69 -0
  115. package/dist/delta/abstract.d.ts.map +1 -0
  116. package/dist/delta/array.d.ts +23 -0
  117. package/dist/delta/array.d.ts.map +1 -0
  118. package/dist/delta/array.test.d.ts +2 -0
  119. package/dist/delta/array.test.d.ts.map +1 -0
  120. package/dist/delta/binding.d.ts +105 -0
  121. package/dist/delta/binding.d.ts.map +1 -0
  122. package/dist/delta/binding.test.d.ts +5 -0
  123. package/dist/delta/binding.test.d.ts.map +1 -0
  124. package/dist/delta/d2.d.ts +705 -0
  125. package/dist/delta/d2.d.ts.map +1 -0
  126. package/dist/delta/d2.test.d.ts +15 -0
  127. package/dist/delta/d2.test.d.ts.map +1 -0
  128. package/dist/delta/index.d.ts +14 -0
  129. package/dist/delta/index.d.ts.map +1 -0
  130. package/dist/delta/map.d.ts +230 -0
  131. package/dist/delta/map.d.ts.map +1 -0
  132. package/dist/delta/node.d.ts +119 -0
  133. package/dist/delta/node.d.ts.map +1 -0
  134. package/dist/delta/node.test.d.ts +4 -0
  135. package/dist/delta/node.test.d.ts.map +1 -0
  136. package/dist/delta/ops.d.ts +466 -0
  137. package/dist/delta/ops.d.ts.map +1 -0
  138. package/dist/delta/text.d.ts +43 -0
  139. package/dist/delta/text.d.ts.map +1 -0
  140. package/dist/delta/text.test.d.ts +6 -0
  141. package/dist/delta/text.test.d.ts.map +1 -0
  142. package/dist/delta/transformer.d.ts +164 -0
  143. package/dist/delta/transformer.d.ts.map +1 -0
  144. package/dist/delta/transformer.test.d.ts +13 -0
  145. package/dist/delta/transformer.test.d.ts.map +1 -0
  146. package/dist/delta/value.d.ts +84 -0
  147. package/dist/delta/value.d.ts.map +1 -0
  148. package/dist/{diff-77c4cf8e.cjs → diff-f0776c15.cjs} +2 -2
  149. package/dist/{diff-77c4cf8e.cjs.map → diff-f0776c15.cjs.map} +1 -1
  150. package/dist/diff.cjs +3 -3
  151. package/dist/{dom-16daf1a0.cjs → dom-2b123630.cjs} +31 -2
  152. package/dist/dom-2b123630.cjs.map +1 -0
  153. package/dist/dom.cjs +17 -2
  154. package/dist/dom.cjs.map +1 -1
  155. package/dist/dom.d.ts +17 -0
  156. package/dist/dom.d.ts.map +1 -1
  157. package/dist/ecdsa.cjs +4 -4
  158. package/dist/ecdsa.cjs.map +1 -1
  159. package/dist/{encoding-1acb59c4.cjs → encoding-7f85922c.cjs} +5 -5
  160. package/dist/encoding-7f85922c.cjs.map +1 -0
  161. package/dist/encoding.cjs +4 -4
  162. package/dist/encoding.d.ts +6 -6
  163. package/dist/encoding.d.ts.map +1 -1
  164. package/dist/{environment-2de08e0e.cjs → environment-90227ead.cjs} +4 -4
  165. package/dist/{environment-2de08e0e.cjs.map → environment-90227ead.cjs.map} +1 -1
  166. package/dist/environment.cjs +5 -5
  167. package/dist/{error-8582d695.cjs → error-0c1f634f.cjs} +10 -2
  168. package/dist/error-0c1f634f.cjs.map +1 -0
  169. package/dist/error.cjs +2 -1
  170. package/dist/error.cjs.map +1 -1
  171. package/dist/error.d.ts +1 -0
  172. package/dist/error.d.ts.map +1 -1
  173. package/dist/{eventloop-b299a889.cjs → eventloop-a0168106.cjs} +2 -2
  174. package/dist/{eventloop-b299a889.cjs.map → eventloop-a0168106.cjs.map} +1 -1
  175. package/dist/eventloop.cjs +3 -3
  176. package/dist/{function-09b8292c.cjs → function-e7d18feb.cjs} +2 -2
  177. package/dist/{function-09b8292c.cjs.map → function-e7d18feb.cjs.map} +1 -1
  178. package/dist/function.cjs +2 -2
  179. package/dist/index.cjs +23 -22
  180. package/dist/index.cjs.map +1 -1
  181. package/dist/index2.cjs +71 -0
  182. package/dist/index2.cjs.map +1 -0
  183. package/dist/{indexeddb-0cbb4d6f.cjs → indexeddb-46d1e737.cjs} +3 -3
  184. package/dist/{indexeddb-0cbb4d6f.cjs.map → indexeddb-46d1e737.cjs.map} +1 -1
  185. package/dist/indexeddb.cjs +5 -5
  186. package/dist/indexeddbV2.cjs +2 -1
  187. package/dist/indexeddbV2.cjs.map +1 -1
  188. package/dist/jwt.cjs +12 -12
  189. package/dist/list.cjs +39 -12
  190. package/dist/list.cjs.map +1 -1
  191. package/dist/list.d.ts +13 -3
  192. package/dist/list.d.ts.map +1 -1
  193. package/dist/logging.cjs +11 -9
  194. package/dist/logging.cjs.map +1 -1
  195. package/dist/logging.common.cjs +7 -7
  196. package/dist/logging.node.cjs +7 -7
  197. package/dist/{map-0dabcc55.cjs → map-24d263c0.cjs} +7 -1
  198. package/dist/map-24d263c0.cjs.map +1 -0
  199. package/dist/map.cjs +314 -7
  200. package/dist/map.cjs.map +1 -1
  201. package/dist/map.d.ts +1 -0
  202. package/dist/map.d.ts.map +1 -1
  203. package/dist/map2.cjs +15 -0
  204. package/dist/map2.cjs.map +1 -0
  205. package/dist/{math-08e068f9.cjs → math-96d5e8c4.cjs} +4 -2
  206. package/dist/math-96d5e8c4.cjs.map +1 -0
  207. package/dist/math.cjs +1 -1
  208. package/dist/math.d.ts.map +1 -1
  209. package/dist/metric.cjs +1 -1
  210. package/dist/node.cjs +206 -0
  211. package/dist/node.cjs.map +1 -0
  212. package/dist/{number-466d8922.cjs → number-1fb57bba.cjs} +2 -2
  213. package/dist/{number-466d8922.cjs.map → number-1fb57bba.cjs.map} +1 -1
  214. package/dist/number.cjs +2 -2
  215. package/dist/{object-491858d1.cjs → object-18980796.cjs} +12 -2
  216. package/dist/object-18980796.cjs.map +1 -0
  217. package/dist/object.cjs +3 -1
  218. package/dist/object.cjs.map +1 -1
  219. package/dist/object.d.ts +3 -0
  220. package/dist/object.d.ts.map +1 -1
  221. package/dist/observable.cjs +1 -1
  222. package/dist/ops.cjs +575 -0
  223. package/dist/ops.cjs.map +1 -0
  224. package/dist/patience.cjs +2 -2
  225. package/dist/performance.node.cjs +4 -4
  226. package/dist/pledge.cjs +2 -1
  227. package/dist/pledge.cjs.map +1 -1
  228. package/dist/{prng-24dfe0bf.cjs → prng-004c76e8.cjs} +5 -5
  229. package/dist/{prng-24dfe0bf.cjs.map → prng-004c76e8.cjs.map} +1 -1
  230. package/dist/prng.cjs +12 -12
  231. package/dist/prng.d.ts +1 -1
  232. package/dist/prng.d.ts.map +1 -1
  233. package/dist/{promise-7d13a97c.cjs → promise-cda7b9bb.cjs} +2 -2
  234. package/dist/{promise-7d13a97c.cjs.map → promise-cda7b9bb.cjs.map} +1 -1
  235. package/dist/promise.cjs +3 -3
  236. package/dist/rabin-gf2-polynomial.cjs +11 -11
  237. package/dist/rabin-uncached.cjs +11 -11
  238. package/dist/rabin.cjs +11 -11
  239. package/dist/random.cjs +1 -1
  240. package/dist/rsa-oaep.cjs +3 -3
  241. package/dist/rsa-oaep.cjs.map +1 -1
  242. package/dist/schema.cjs +572 -167
  243. package/dist/schema.cjs.map +1 -1
  244. package/dist/schema.d.ts +326 -122
  245. package/dist/schema.d.ts.map +1 -1
  246. package/dist/schema.test.d.ts +5 -0
  247. package/dist/schema.test.d.ts.map +1 -1
  248. package/dist/{sort-b8702761.cjs → sort-812cc211.cjs} +2 -2
  249. package/dist/{sort-b8702761.cjs.map → sort-812cc211.cjs.map} +1 -1
  250. package/dist/sort.cjs +2 -2
  251. package/dist/{statistics-c2316dca.cjs → statistics-65f6114b.cjs} +2 -2
  252. package/dist/{statistics-c2316dca.cjs.map → statistics-65f6114b.cjs.map} +1 -1
  253. package/dist/statistics.cjs +2 -2
  254. package/dist/{string-b2827a90.cjs → string-fddc5f8b.cjs} +3 -3
  255. package/dist/string-fddc5f8b.cjs.map +1 -0
  256. package/dist/string.cjs +1 -1
  257. package/dist/string.d.ts +3 -3
  258. package/dist/string.d.ts.map +1 -1
  259. package/dist/testing.cjs +16 -16
  260. package/dist/text.cjs +79 -0
  261. package/dist/text.cjs.map +1 -0
  262. package/dist/{time-bc2081b9.cjs → time-d8438852.cjs} +2 -2
  263. package/dist/{time-bc2081b9.cjs.map → time-d8438852.cjs.map} +1 -1
  264. package/dist/time.cjs +2 -2
  265. package/dist/traits.cjs +22 -0
  266. package/dist/traits.cjs.map +1 -1
  267. package/dist/traits.d.ts +1 -0
  268. package/dist/traits.d.ts.map +1 -1
  269. package/dist/traits.test.d.ts.map +1 -1
  270. package/dist/transformer.cjs +930 -0
  271. package/dist/transformer.cjs.map +1 -0
  272. package/dist/url.cjs +2 -1
  273. package/dist/url.cjs.map +1 -1
  274. package/dist/value.cjs +187 -0
  275. package/dist/value.cjs.map +1 -0
  276. package/dist/webcrypto.d.ts +1 -1
  277. package/dist/webcrypto.d.ts.map +1 -1
  278. package/dist/{websocket-40a601d4.cjs → websocket-b073d0fc.cjs} +3 -3
  279. package/dist/{websocket-40a601d4.cjs.map → websocket-b073d0fc.cjs.map} +1 -1
  280. package/dist/websocket.cjs +4 -4
  281. package/dom.d.ts +17 -0
  282. package/dom.d.ts.map +1 -1
  283. package/dom.js +21 -0
  284. package/encoding.d.ts +6 -6
  285. package/encoding.d.ts.map +1 -1
  286. package/encoding.js +1 -1
  287. package/error.d.ts +1 -0
  288. package/error.d.ts.map +1 -1
  289. package/error.js +6 -0
  290. package/list.d.ts +13 -3
  291. package/list.d.ts.map +1 -1
  292. package/list.js +36 -8
  293. package/map.d.ts +1 -0
  294. package/map.d.ts.map +1 -1
  295. package/map.js +6 -0
  296. package/math.d.ts.map +1 -1
  297. package/math.js +3 -1
  298. package/object.d.ts +3 -0
  299. package/object.d.ts.map +1 -1
  300. package/object.js +9 -1
  301. package/package.json +9 -3
  302. package/prng.d.ts +1 -1
  303. package/prng.d.ts.map +1 -1
  304. package/prng.js +1 -1
  305. package/schema.d.ts +326 -122
  306. package/schema.d.ts.map +1 -1
  307. package/schema.js +513 -141
  308. package/schema.test.d.ts +5 -0
  309. package/schema.test.d.ts.map +1 -1
  310. package/string.d.ts +3 -3
  311. package/string.d.ts.map +1 -1
  312. package/string.js +2 -2
  313. package/test.html +1 -0
  314. package/test.js +13 -1
  315. package/traits.d.ts +1 -0
  316. package/traits.d.ts.map +1 -1
  317. package/traits.js +21 -0
  318. package/traits.test.d.ts.map +1 -1
  319. package/webcrypto.d.ts +1 -1
  320. package/webcrypto.d.ts.map +1 -1
  321. package/coverage/tmp/coverage-20054-1752683240888-0.json +0 -1
  322. package/dist/broadcastchannel-2c4b0a1c.cjs.map +0 -1
  323. package/dist/buffer-a74f7330.cjs.map +0 -1
  324. package/dist/decoding-2b136346.cjs.map +0 -1
  325. package/dist/dom-16daf1a0.cjs.map +0 -1
  326. package/dist/encoding-1acb59c4.cjs.map +0 -1
  327. package/dist/error-8582d695.cjs.map +0 -1
  328. package/dist/map-0dabcc55.cjs.map +0 -1
  329. package/dist/math-08e068f9.cjs.map +0 -1
  330. package/dist/object-491858d1.cjs.map +0 -1
  331. package/dist/string-b2827a90.cjs.map +0 -1
@@ -0,0 +1,705 @@
1
+ /**
2
+ * @typedef {{
3
+ * insert?: string[]
4
+ * insertAt?: number
5
+ * delete?: string[]
6
+ * deleteAt?: number
7
+ * format?: Record<string,string[]>
8
+ * formatAt?: number
9
+ * }} Attribution
10
+ */
11
+ /**
12
+ * @type {s.Schema<Attribution>}
13
+ */
14
+ export const $attribution: s.Schema<Attribution>;
15
+ /**
16
+ * @typedef {s.Unwrap<$anyOp>} DeltaOps
17
+ */
18
+ /**
19
+ * @typedef {{ [key: string]: any }} FormattingAttributes
20
+ */
21
+ /**
22
+ * @typedef {{
23
+ * name?: string
24
+ * attrs?: { [Key in string|number|symbol]: DeltaAttrOpJSON },
25
+ * children?: Array<DeltaListOpJSON>
26
+ * }} DeltaJSON
27
+ */
28
+ /**
29
+ * @typedef {{ insert: string|Array<any>, format?: { [key: string]: any }, attribution?: Attribution } | { delete: number } | { retain: number, format?: { [key:string]: any }, attribution?: Attribution } | { modify: object }} DeltaListOpJSON
30
+ */
31
+ /**
32
+ * @typedef {{ type: 'insert', value: any, prevValue?: any, attribution?: Attribution } | { type: 'delete', prevValue?: any, attribution?: Attribution } | { type: 'modify', modify: DeltaJSON }} DeltaAttrOpJSON
33
+ */
34
+ /**
35
+ * @type {s.Schema<DeltaAttrOpJSON>}
36
+ */
37
+ export const $deltaMapChangeJson: s.Schema<DeltaAttrOpJSON>;
38
+ export class TextOp extends list.ListNode {
39
+ /**
40
+ * @param {string} insert
41
+ * @param {FormattingAttributes|null} format
42
+ * @param {Attribution?} attribution
43
+ */
44
+ constructor(insert: string, format: FormattingAttributes | null, attribution: Attribution | null);
45
+ insert: string;
46
+ format: FormattingAttributes | null;
47
+ attribution: Attribution | null;
48
+ /**
49
+ * @return {'insert'}
50
+ */
51
+ get type(): "insert";
52
+ get length(): number;
53
+ /**
54
+ * Remove a part of the operation (similar to Array.splice)
55
+ *
56
+ * @param {number} offset
57
+ * @param {number} len
58
+ */
59
+ _splice(offset: number, len: number): void;
60
+ /**
61
+ * @return {DeltaListOpJSON}
62
+ */
63
+ toJSON(): DeltaListOpJSON;
64
+ /**
65
+ * @return {TextOp}
66
+ */
67
+ clone(): TextOp;
68
+ /**
69
+ * @param {TextOp} other
70
+ */
71
+ [traits.EqualityTraitSymbol](other: TextOp): boolean;
72
+ }
73
+ /**
74
+ * @template ArrayContent
75
+ */
76
+ export class InsertOp<ArrayContent> extends list.ListNode {
77
+ /**
78
+ * @param {Array<ArrayContent>} insert
79
+ * @param {FormattingAttributes|null} format
80
+ * @param {Attribution?} attribution
81
+ */
82
+ constructor(insert: Array<ArrayContent>, format: FormattingAttributes | null, attribution: Attribution | null);
83
+ insert: ArrayContent[];
84
+ format: FormattingAttributes | null;
85
+ attribution: Attribution | null;
86
+ /**
87
+ * @return {'insert'}
88
+ */
89
+ get type(): "insert";
90
+ get length(): number;
91
+ /**
92
+ * Remove a part of the operation (similar to Array.splice)
93
+ *
94
+ * @param {number} offset
95
+ * @param {number} len
96
+ */
97
+ _splice(offset: number, len: number): void;
98
+ /**
99
+ * @return {DeltaListOpJSON}
100
+ */
101
+ toJSON(): DeltaListOpJSON;
102
+ /**
103
+ * @return {InsertOp<ArrayContent>}
104
+ */
105
+ clone(): InsertOp<ArrayContent>;
106
+ /**
107
+ * @param {InsertOp<ArrayContent>} other
108
+ */
109
+ [traits.EqualityTraitSymbol](other: InsertOp<ArrayContent>): boolean;
110
+ }
111
+ export class DeleteOp extends list.ListNode {
112
+ /**
113
+ * @param {number} len
114
+ */
115
+ constructor(len: number);
116
+ delete: number;
117
+ /**
118
+ * @return {'delete'}
119
+ */
120
+ get type(): "delete";
121
+ get length(): number;
122
+ /**
123
+ * Remove a part of the operation (similar to Array.splice)
124
+ *
125
+ * @param {number} _offset
126
+ * @param {number} len
127
+ */
128
+ _splice(_offset: number, len: number): void;
129
+ /**
130
+ * @return {DeltaListOpJSON}
131
+ */
132
+ toJSON(): DeltaListOpJSON;
133
+ clone(): DeleteOp;
134
+ /**
135
+ * @param {DeleteOp} other
136
+ */
137
+ [traits.EqualityTraitSymbol](other: DeleteOp): boolean;
138
+ }
139
+ export class RetainOp extends list.ListNode {
140
+ /**
141
+ * @param {number} retain
142
+ * @param {FormattingAttributes|null} format
143
+ * @param {Attribution?} attribution
144
+ */
145
+ constructor(retain: number, format: FormattingAttributes | null, attribution: Attribution | null);
146
+ retain: number;
147
+ format: FormattingAttributes | null;
148
+ attribution: Attribution | null;
149
+ /**
150
+ * @return {'retain'}
151
+ */
152
+ get type(): "retain";
153
+ get length(): number;
154
+ /**
155
+ * Remove a part of the operation (similar to Array.splice)
156
+ *
157
+ * @param {number} _offset
158
+ * @param {number} len
159
+ */
160
+ _splice(_offset: number, len: number): void;
161
+ /**
162
+ * @return {DeltaListOpJSON}
163
+ */
164
+ toJSON(): DeltaListOpJSON;
165
+ clone(): RetainOp;
166
+ /**
167
+ * @param {RetainOp} other
168
+ */
169
+ [traits.EqualityTraitSymbol](other: RetainOp): boolean;
170
+ }
171
+ /**
172
+ * Delta that can be applied on a YType Embed
173
+ *
174
+ * @template {Delta<any,any,any,any,any>} DTypes
175
+ */
176
+ export class ModifyOp<DTypes extends Delta<any, any, any, any, any>> extends list.ListNode {
177
+ /**
178
+ * @param {DTypes} delta
179
+ * @param {FormattingAttributes|null} format
180
+ * @param {Attribution?} attribution
181
+ */
182
+ constructor(delta: DTypes, format: FormattingAttributes | null, attribution: Attribution | null);
183
+ modify: DTypes;
184
+ format: FormattingAttributes | null;
185
+ attribution: Attribution | null;
186
+ /**
187
+ * @return {'modify'}
188
+ */
189
+ get type(): "modify";
190
+ get length(): number;
191
+ /**
192
+ * Remove a part of the operation (similar to Array.splice)
193
+ *
194
+ * @param {number} _offset
195
+ * @param {number} _len
196
+ */
197
+ _splice(_offset: number, _len: number): void;
198
+ /**
199
+ * @return {DeltaListOpJSON}
200
+ */
201
+ toJSON(): DeltaListOpJSON;
202
+ /**
203
+ * @return {ModifyOp<DTypes>}
204
+ */
205
+ clone(): ModifyOp<DTypes>;
206
+ /**
207
+ * @param {ModifyOp<any>} other
208
+ */
209
+ [traits.EqualityTraitSymbol](other: ModifyOp<any>): boolean;
210
+ }
211
+ /**
212
+ * @template V
213
+ * @template [K=string]
214
+ */
215
+ export class MapInsertOp<V, K = string> {
216
+ /**
217
+ * @param {K} key
218
+ * @param {V} value
219
+ * @param {V|undefined} prevValue
220
+ * @param {Attribution?} attribution
221
+ */
222
+ constructor(key: K, value: V, prevValue: V | undefined, attribution: Attribution | null);
223
+ /**
224
+ * @type {K}
225
+ */
226
+ key: K;
227
+ /**
228
+ * @type {V}
229
+ */
230
+ value: V;
231
+ /**
232
+ * @type {V|undefined}
233
+ */
234
+ prevValue: V | undefined;
235
+ attribution: Attribution | null;
236
+ /**
237
+ * @return {'insert'}
238
+ */
239
+ get type(): "insert";
240
+ toJSON(): {
241
+ type: "insert";
242
+ value: V | DeltaJSON;
243
+ } & (({
244
+ attribution: Attribution;
245
+ } | {
246
+ attribution?: undefined;
247
+ }) & ({
248
+ prevValue: V & ({} | null);
249
+ } | {
250
+ prevValue?: undefined;
251
+ }));
252
+ /**
253
+ * @return {MapInsertOp<V,K>}
254
+ */
255
+ clone(): MapInsertOp<V, K>;
256
+ /**
257
+ * @param {MapInsertOp<V>} other
258
+ */
259
+ [traits.EqualityTraitSymbol](other: MapInsertOp<V>): boolean;
260
+ }
261
+ /**
262
+ * @template V
263
+ * @template [K=string]
264
+ */
265
+ export class MapDeleteOp<V, K = string> {
266
+ /**
267
+ * @param {K} key
268
+ * @param {V|undefined} prevValue
269
+ * @param {Attribution?} attribution
270
+ */
271
+ constructor(key: K, prevValue: V | undefined, attribution: Attribution | null);
272
+ /**
273
+ * @type {K}
274
+ */
275
+ key: K;
276
+ /**
277
+ * @type {V|undefined}
278
+ */
279
+ prevValue: V | undefined;
280
+ attribution: Attribution | null;
281
+ get value(): undefined;
282
+ /**
283
+ * @type {'delete'}
284
+ */
285
+ get type(): "delete";
286
+ /**
287
+ * @return {DeltaAttrOpJSON}
288
+ */
289
+ toJSON(): DeltaAttrOpJSON;
290
+ clone(): MapDeleteOp<V, K>;
291
+ /**
292
+ * @param {MapDeleteOp<V>} other
293
+ */
294
+ [traits.EqualityTraitSymbol](other: MapDeleteOp<V>): boolean;
295
+ }
296
+ /**
297
+ * @template {Delta} Modifier
298
+ * @template [K=string]
299
+ */
300
+ export class MapModifyOp<Modifier extends Delta, K = string> {
301
+ /**
302
+ * @param {K} key
303
+ * @param {Modifier} delta
304
+ */
305
+ constructor(key: K, delta: Modifier);
306
+ /**
307
+ * @type {K}
308
+ */
309
+ key: K;
310
+ /**
311
+ * @type {Modifier}
312
+ */
313
+ value: Modifier;
314
+ /**
315
+ * @type {'modify'}
316
+ */
317
+ get type(): "modify";
318
+ /**
319
+ * @return {DeltaAttrOpJSON}
320
+ */
321
+ toJSON(): DeltaAttrOpJSON;
322
+ /**
323
+ * @return {MapModifyOp<Modifier,K>}
324
+ */
325
+ clone(): MapModifyOp<Modifier, K>;
326
+ /**
327
+ * @param {MapModifyOp<Modifier>} other
328
+ */
329
+ [traits.EqualityTraitSymbol](other: MapModifyOp<Modifier>): boolean;
330
+ }
331
+ /**
332
+ * @type {s.Schema<MapDeleteOp<any> | DeleteOp>}
333
+ */
334
+ export const $deleteOp: s.Schema<MapDeleteOp<any> | DeleteOp>;
335
+ /**
336
+ * @type {s.Schema<MapInsertOp<any> | InsertOp<any>>}
337
+ */
338
+ export const $insertOp: s.Schema<MapInsertOp<any> | InsertOp<any>>;
339
+ export function $insertOpWith<Content>($content: s.Schema<Content>): s.Schema<MapInsertOp<Content> | InsertOp<Content>>;
340
+ /**
341
+ * @type {s.Schema<TextOp>}
342
+ */
343
+ export const $textOp: s.Schema<TextOp>;
344
+ /**
345
+ * @type {s.Schema<RetainOp>}
346
+ */
347
+ export const $retainOp: s.Schema<RetainOp>;
348
+ /**
349
+ * @type {s.Schema<MapModifyOp<any> | ModifyOp<any>>}
350
+ */
351
+ export const $modifyOp: s.Schema<MapModifyOp<any> | ModifyOp<any>>;
352
+ export function $modifyOpWith<Modify extends Delta>($content: s.Schema<Modify>): s.Schema<MapModifyOp<Modify> | ModifyOp<Modify>>;
353
+ export const $anyOp: s.Schema<MapInsertOp<any, string> | InsertOp<any> | MapDeleteOp<any, string> | DeleteOp | TextOp | MapModifyOp<any, string> | ModifyOp<any>>;
354
+ /**
355
+ * @template {Array<any>|string} C1
356
+ * @template {Array<any>|string} C2
357
+ * @typedef {Extract<C1 | C2, Array<any>> extends never
358
+ * ? never
359
+ * : (Array<(Extract<C1 | C2,Array<any>> extends Array<infer AC1> ? (unknown extends AC1 ? never : AC1) : never)>)} MergeListArrays
360
+ */
361
+ /**
362
+ * @template {{[Key in string|number|symbol]: any}} Attrs
363
+ * @template {string|number|symbol} Key
364
+ * @template {any} Val
365
+ * @typedef {{ [K in (Key | keyof Attrs)]: (unknown extends Attrs[K] ? never : Attrs[K]) | (Key extends K ? Val : never) }} AddToAttrs
366
+ */
367
+ /**
368
+ * @template {{[Key in string|number|symbol]: any}} Attrs
369
+ * @template {{[Key in string|number|symbol]: any}} NewAttrs
370
+ * @typedef {{ [K in (keyof NewAttrs | keyof Attrs)]: (unknown extends Attrs[K] ? never : Attrs[K]) | (unknown extends NewAttrs[K] ? never : NewAttrs[K]) }} MergeAttrs
371
+ */
372
+ /**
373
+ * @template X
374
+ * @typedef {0 extends (1 & X) ? null : X} _AnyToNull
375
+ */
376
+ /**
377
+ * @template {s.Schema<Delta<any,any,any,any,any>>|null} Schema
378
+ * @typedef {_AnyToNull<Schema> extends null ? Delta<any,{[key:string|number|symbol]:any},any,string> : (Schema extends s.Schema<infer D> ? D : never)} AllowedDeltaFromSchema
379
+ */
380
+ /**
381
+ * @template {string} [NodeName=any]
382
+ * @template {{[key:string|number|symbol]:any}} [out Attrs={}]
383
+ * @template {any} [out Children=never]
384
+ * @template {string|never} [out Text=never]
385
+ * @template {s.Schema<Delta<any,any,any,any,any>>|null} [Schema=any]
386
+ */
387
+ export class Delta<NodeName extends string = any, out Attrs extends {
388
+ [key: string | number | symbol]: any;
389
+ } = {}, out Children extends unknown = never, out Text extends string | never = never, Schema extends s.Schema<Delta<any, any, any, any, any>> | null = any> {
390
+ /**
391
+ * @param {NodeName} [name]
392
+ * @param {Schema} [$schema]
393
+ */
394
+ constructor(name?: NodeName, $schema?: Schema);
395
+ name: NodeName | null;
396
+ $schema: NonNullable<Schema> | null;
397
+ /**
398
+ * @type {Map<keyof Attrs, { [K in keyof Attrs]: MapInsertOp<Attrs[K],K>|MapDeleteOp<Attrs[K],K>|(Delta extends Attrs[K] ? MapModifyOp<Extract<Attrs[K],Delta>,K> : never) }[keyof Attrs]>}
399
+ */
400
+ attrs: Map<keyof Attrs, { [K in keyof Attrs]: MapInsertOp<Attrs[K], K> | MapDeleteOp<Attrs[K], K> | (Delta extends Attrs[K] ? MapModifyOp<Extract<Attrs[K], Delta>, K> : never); }[keyof Attrs]>;
401
+ /**
402
+ * @type {list.List<
403
+ * RetainOp
404
+ * | DeleteOp
405
+ * | (Text extends never ? never : TextOp)
406
+ * | (Children extends never ? never : InsertOp<Children>)
407
+ * | (Delta extends Children ? ModifyOp<Extract<Children,Delta>> : never)
408
+ * >}
409
+ */
410
+ children: list.List<RetainOp | DeleteOp | (Text extends never ? never : TextOp) | (Children extends never ? never : InsertOp<Children>) | (Delta extends Children ? ModifyOp<Extract<Children, Delta>> : never)>;
411
+ /**
412
+ * @type {FormattingAttributes?}
413
+ */
414
+ usedAttributes: FormattingAttributes | null;
415
+ /**
416
+ * @type {Attribution?}
417
+ */
418
+ usedAttribution: Attribution | null;
419
+ /**
420
+ * @type {any}
421
+ */
422
+ origin: any;
423
+ isEmpty(): boolean;
424
+ /**
425
+ * @return {DeltaJSON}
426
+ */
427
+ toJSON(): DeltaJSON;
428
+ /**
429
+ * @param {Delta<any,any,any,any,any>} other
430
+ * @return {boolean}
431
+ */
432
+ equals(other: Delta<any, any, any, any, any>): boolean;
433
+ /**
434
+ * @return {this}
435
+ */
436
+ clone(): this;
437
+ /**
438
+ * @param {Attribution?} attribution
439
+ */
440
+ useAttribution(attribution: Attribution | null): this;
441
+ /**
442
+ * @param {FormattingAttributes?} attributes
443
+ * @return {this}
444
+ */
445
+ useAttributes(attributes: FormattingAttributes | null): this;
446
+ /**
447
+ * @param {string} name
448
+ * @param {any} value
449
+ */
450
+ updateUsedAttributes(name: string, value: any): this;
451
+ /**
452
+ * @template {keyof Attribution} NAME
453
+ * @param {NAME} name
454
+ * @param {Attribution[NAME]?} value
455
+ */
456
+ updateUsedAttribution<NAME extends keyof Attribution>(name: NAME, value: Attribution[NAME] | null): this;
457
+ /**
458
+ * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,any,infer Children,infer Text,infer Schema> ? ((Children extends never ? never : Array<Children>) | Text) : never} NewContent
459
+ * @param {NewContent} insert
460
+ * @param {FormattingAttributes?} [formatting]
461
+ * @param {Attribution?} [attribution]
462
+ * @return {Delta<
463
+ * NodeName,
464
+ * Attrs,
465
+ * Exclude<NewContent,string>[number]|Children,
466
+ * (Extract<NewContent,string>|Text) extends string ? string : never,
467
+ * Schema
468
+ * >}
469
+ */
470
+ insert<NewContent extends AllowedDeltaFromSchema<Schema> extends Delta<any, any, infer Children_1, infer Text_1, infer Schema_1> ? ((Children_1 extends never ? never : Array<Children_1>) | Text_1) : never>(insert: NewContent, formatting?: FormattingAttributes | null, attribution?: Attribution | null): Delta<NodeName, Attrs, Exclude<NewContent, string>[number] | Children, (Extract<NewContent, string> | Text) extends string ? string : never, Schema>;
471
+ /**
472
+ * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,any,infer Children,any,any> ? Extract<Children,Delta<any,any,any,any,any>> : never} NewContent
473
+ * @param {NewContent} modify
474
+ * @param {FormattingAttributes?} formatting
475
+ * @param {Attribution?} attribution
476
+ * @return {Delta<
477
+ * NodeName,
478
+ * Attrs,
479
+ * Exclude<NewContent,string>[number]|Children,
480
+ * (Extract<NewContent,string>|Text) extends string ? string : never,
481
+ * Schema
482
+ * >}
483
+ */
484
+ modify<NewContent extends AllowedDeltaFromSchema<Schema> extends Delta<any, any, infer Children_1, any, any> ? Extract<Children_1, Delta<any, any, any, any, any>> : never>(modify: NewContent, formatting?: FormattingAttributes | null, attribution?: Attribution | null): Delta<NodeName, Attrs, Exclude<NewContent, string>[number] | Children, (Extract<NewContent, string> | Text) extends string ? string : never, Schema>;
485
+ /**
486
+ * @param {number} len
487
+ * @param {FormattingAttributes?} [format]
488
+ * @param {Attribution?} [attribution]
489
+ */
490
+ retain(len: number, format?: FormattingAttributes | null, attribution?: Attribution | null): this;
491
+ /**
492
+ * @param {number} len
493
+ * @return {this}
494
+ */
495
+ delete(len: number): this;
496
+ /**
497
+ * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer Attrs,any,any,any> ? (keyof Attrs) : never} Key
498
+ * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer Attrs,any,any,any> ? (Attrs[Key]) : never} Val
499
+ * @param {Key} key
500
+ * @param {Val} val
501
+ * @param {Attribution?} attribution
502
+ * @param {Val|undefined} [prevValue]
503
+ * @return {Delta<
504
+ * NodeName,
505
+ * { [K in keyof AddToAttrs<Attrs,Key,Val>]: AddToAttrs<Attrs,Key,Val>[K] },
506
+ * Children,
507
+ * Text,
508
+ * Schema
509
+ * >}
510
+ */
511
+ set<Key extends AllowedDeltaFromSchema<Schema> extends Delta<any, infer Attrs_1, any, any, any> ? (keyof Attrs_1) : never, Val extends AllowedDeltaFromSchema<Schema> extends Delta<any, infer Attrs_1, any, any, any> ? (Attrs_1[Key]) : never>(key: Key, val: Val, attribution?: Attribution | null, prevValue?: Val | undefined): Delta<NodeName, { [K in keyof AddToAttrs<Attrs, Key, Val>]: AddToAttrs<Attrs, Key, Val>[K]; }, Children, Text, Schema>;
512
+ /**
513
+ * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer Attrs,any,any,any> ? Attrs : never} NewAttrs
514
+ * @param {NewAttrs} attrs
515
+ * @param {Attribution?} attribution
516
+ * @return {Delta<
517
+ * NodeName,
518
+ * { [K in keyof MergeAttrs<Attrs,NewAttrs>]: MergeAttrs<Attrs,NewAttrs>[K] },
519
+ * Children,
520
+ * Text,
521
+ * Schema
522
+ * >}
523
+ */
524
+ setMany<NewAttrs extends AllowedDeltaFromSchema<Schema> extends Delta<any, infer Attrs_1, any, any, any> ? Attrs_1 : never>(attrs: NewAttrs, attribution?: Attribution | null): Delta<NodeName, { [K in keyof MergeAttrs<Attrs, NewAttrs>]: MergeAttrs<Attrs, NewAttrs>[K]; }, Children, Text, Schema>;
525
+ /**
526
+ * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer As,any,any,any> ? keyof As : never} Key
527
+ * @param {Key} key
528
+ * @param {Attribution?} attribution
529
+ * @param {any} [prevValue]
530
+ * @return {Delta<
531
+ * NodeName,
532
+ * { [K in keyof AddToAttrs<Attrs,Key,never>]: AddToAttrs<Attrs,Key,never>[K] },
533
+ * Children,
534
+ * Text,
535
+ * Schema
536
+ * >}
537
+ */
538
+ unset<Key extends AllowedDeltaFromSchema<Schema> extends Delta<any, infer As, any, any, any> ? keyof As : never>(key: Key, attribution?: Attribution | null, prevValue?: any): Delta<NodeName, { [K in keyof AddToAttrs<Attrs, Key, never>]: AddToAttrs<Attrs, Key, never>[K]; }, Children, Text, Schema>;
539
+ /**
540
+ * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer As,any,any,any> ? { [K in keyof As]: Extract<As[K],Delta<any,any,any,any,any>> extends never ? never : K }[keyof As] : never} Key
541
+ * @template {AllowedDeltaFromSchema<Schema> extends Delta<any,infer As,any,any,any> ? Extract<As[Key],Delta<any,any,any,any,any>> : never} D
542
+ * @param {Key} key
543
+ * @param {D} modify
544
+ * @return {Delta<
545
+ * NodeName,
546
+ * { [K in keyof AddToAttrs<Attrs,Key,D>]: AddToAttrs<Attrs,Key,D>[K] },
547
+ * Children,
548
+ * Text,
549
+ * Schema
550
+ * >}
551
+ */
552
+ update<Key extends AllowedDeltaFromSchema<Schema> extends Delta<any, infer As, any, any, any> ? { [K in keyof As]: Extract<As[K], Delta<any, any, any, any, any>> extends never ? never : K; }[keyof As] : never, D extends AllowedDeltaFromSchema<Schema> extends Delta<any, infer As, any, any, any> ? Extract<As[Key], Delta<any, any, any, any, any>> : never>(key: Key, modify: D): Delta<NodeName, { [K in keyof AddToAttrs<Attrs, Key, D>]: AddToAttrs<Attrs, Key, D>[K]; }, Children, Text, Schema>;
553
+ /**
554
+ * @param {Delta<NodeName,Partial<Attrs>,Children,Text,any>} other
555
+ * @return {this}
556
+ */
557
+ apply(other: Delta<NodeName, Partial<Attrs>, Children, Text, any>): this;
558
+ /**
559
+ * @param {Delta<any,any,any,any,any>} other
560
+ * @param {boolean} priority
561
+ */
562
+ rebase(other: Delta<any, any, any, any, any>, priority: boolean): this;
563
+ done(): this;
564
+ /**
565
+ * @param {any} other
566
+ * @return {boolean}
567
+ */
568
+ [traits.EqualityTraitSymbol](other: any): boolean;
569
+ }
570
+ export function $delta<NodeName_1 extends string = any, Attrs_1 extends {
571
+ [key: string | number | symbol]: any;
572
+ } = {}, Children_1 extends unknown = never, HasText extends boolean = false, Recursive extends boolean = false>({ name, attrs, children, hasText, recursive }: {
573
+ name?: s.Schema<NodeName_1> | null | undefined;
574
+ attrs?: s.Schema<Attrs_1> | null | undefined;
575
+ children?: s.Schema<Children_1> | null | undefined;
576
+ hasText?: HasText | undefined;
577
+ recursive?: Recursive | undefined;
578
+ }): s.Schema<Delta<NodeName_1, Attrs_1, Children_1 | (Recursive extends true ? RecursiveDelta<NodeName_1, Attrs_1, Children_1, HasText extends true ? string : never> : never), HasText extends true ? string : never>>;
579
+ export const $deltaAny: s.Schema<Delta<any, {}, never, never, any>>;
580
+ export function mergeAttrs<T extends {
581
+ [key: string]: any;
582
+ }>(a: T | null, b: T | null): T | null;
583
+ export function mergeDeltas<D extends Delta | null>(a: D, b: D): D;
584
+ /**
585
+ * @overload
586
+ * @return {Delta<any,{},never,never,null>}
587
+ */
588
+ export function create(): Delta<any, {}, never, never, null>;
589
+ /**
590
+ * @template {string} NodeName
591
+ * @overload
592
+ * @param {NodeName} nodeName
593
+ * @return {Delta<NodeName,{},never,never,null>}
594
+ */
595
+ export function create<NodeName extends string>(nodeName: NodeName): Delta<NodeName, {}, never, never, null>;
596
+ /**
597
+ * @template {string} NodeName
598
+ * @template {s.Schema<Delta<any,any,any,any,any>>} Schema
599
+ * @overload
600
+ * @param {NodeName} nodeName
601
+ * @param {Schema} schema
602
+ * @return {Schema extends s.Schema<Delta<infer N,infer Attrs,infer Children,infer Text,any>> ? Delta<NodeName,Attrs,Children,Text,Schema> : never}
603
+ */
604
+ export function create<NodeName extends string, Schema extends s.Schema<Delta<any, any, any, any, any>>>(nodeName: NodeName, schema: Schema): Schema extends s.Schema<Delta<infer N, infer Attrs_1, infer Children_1, infer Text, any>> ? Delta<NodeName, Attrs_1, Children_1, Text, Schema> : never;
605
+ /**
606
+ * @template {s.Schema<Delta<any,any,any,any,any>>} Schema
607
+ * @overload
608
+ * @param {Schema} schema
609
+ * @return {Schema extends s.Schema<Delta<infer N,infer Attrs,infer Children,infer Text,any>> ? Delta<N,Attrs,Children,Text,Schema> : never}
610
+ */
611
+ export function create<Schema extends s.Schema<Delta<any, any, any, any, any>>>(schema: Schema): Schema extends s.Schema<Delta<infer N, infer Attrs_1, infer Children_1, infer Text, any>> ? Delta<N, Attrs_1, Children_1, Text, Schema> : never;
612
+ /**
613
+ * @template {string|null} NodeName
614
+ * @template {{[k:string|number|symbol]:any}|null} Attrs
615
+ * @template {Array<Array<any>|string>} Children
616
+ * @overload
617
+ * @param {NodeName} nodeName
618
+ * @param {Attrs} attrs
619
+ * @param {...Children} children
620
+ * @return {Delta<
621
+ * NodeName extends null ? any : NodeName,
622
+ * Attrs extends null ? {} : Attrs,
623
+ * Extract<Children[number],Array<any>> extends Array<infer Ac> ? (unknown extends Ac ? never : Ac) : never,
624
+ * Extract<Children[number],string>,
625
+ * null
626
+ * >}
627
+ */
628
+ export function create<NodeName extends string, Attrs extends {
629
+ [k: string | number | symbol]: any;
630
+ } | null, Children extends Array<Array<any> | string>>(nodeName: NodeName, attrs: Attrs, ...children: Children[]): Delta<NodeName extends null ? any : NodeName, Attrs extends null ? {} : Attrs, Extract<Children[number], Array<any>> extends Array<infer Ac> ? (unknown extends Ac ? never : Ac) : never, Extract<Children[number], string>, null>;
631
+ export function $text<$Embeds extends Array<s.Schema<any>> = any>(...$embeds: $Embeds): s.Schema<TextDelta<_AnyToNull<$Embeds> extends null ? never : ($Embeds extends Array<s.Schema<infer $C>> ? $C : never)>>;
632
+ export const $textOnly: s.Schema<TextDelta<unknown>>;
633
+ export function text<Schema_1 extends s.Schema<Delta<any, {}, any, any, null>> = s.Schema<Delta<any, {}, never, string, null>>>($schema?: Schema_1): Schema_1 extends s.Schema<Delta<infer N, infer Attrs_1, infer Children_1, infer Text, any>> ? Delta<N, Attrs_1, Children_1, Text, Schema_1> : never;
634
+ export function $array<$Children extends s.Schema<any>>($children?: $Children): s.Schema<ArrayDelta<$Children>>;
635
+ export function array<$Schema extends s.Schema<ArrayDelta<any>> = never>($schema: $Schema): $Schema extends never ? ArrayDelta<never> : Delta<any, {}, never, never, $Schema>;
636
+ export function $map<$Attrs extends {
637
+ [K: string | number | symbol]: any;
638
+ }>($attrs: s.Schema<$Attrs>): s.Schema<MapDelta<$Attrs>>;
639
+ export function map<$Schema extends s.Schema<MapDelta<any>> | undefined = undefined>($schema?: $Schema): $Schema extends s.Schema<MapDelta<infer Attrs_1>> ? Delta<any, Attrs_1, never, never, $Schema> : MapDelta<{}>;
640
+ export type Attribution = {
641
+ insert?: string[];
642
+ insertAt?: number;
643
+ delete?: string[];
644
+ deleteAt?: number;
645
+ format?: Record<string, string[]>;
646
+ formatAt?: number;
647
+ };
648
+ export type DeltaOps = s.Unwrap<s.Schema<MapInsertOp<any, string> | InsertOp<any> | MapDeleteOp<any, string> | DeleteOp | TextOp | MapModifyOp<any, string> | ModifyOp<any>>>;
649
+ export type FormattingAttributes = {
650
+ [key: string]: any;
651
+ };
652
+ export type DeltaJSON = {
653
+ name?: string;
654
+ attrs?: { [Key in string | number | symbol]: DeltaAttrOpJSON; };
655
+ children?: Array<DeltaListOpJSON>;
656
+ };
657
+ export type DeltaListOpJSON = {
658
+ insert: string | Array<any>;
659
+ format?: {
660
+ [key: string]: any;
661
+ };
662
+ attribution?: Attribution;
663
+ } | {
664
+ delete: number;
665
+ } | {
666
+ retain: number;
667
+ format?: {
668
+ [key: string]: any;
669
+ };
670
+ attribution?: Attribution;
671
+ } | {
672
+ modify: object;
673
+ };
674
+ export type DeltaAttrOpJSON = {
675
+ type: "insert";
676
+ value: any;
677
+ prevValue?: any;
678
+ attribution?: Attribution;
679
+ } | {
680
+ type: "delete";
681
+ prevValue?: any;
682
+ attribution?: Attribution;
683
+ } | {
684
+ type: "modify";
685
+ modify: DeltaJSON;
686
+ };
687
+ export type MergeListArrays<C1 extends Array<any> | string, C2 extends Array<any> | string> = Extract<C1 | C2, Array<any>> extends never ? never : (Array<(Extract<C1 | C2, Array<any>> extends Array<infer AC1> ? (unknown extends AC1 ? never : AC1) : never)>);
688
+ export type AddToAttrs<Attrs_1 extends { [Key in string | number | symbol]: any; }, Key extends string | number | symbol, Val extends unknown> = { [K in (Key | keyof Attrs_1)]: (unknown extends Attrs_1[K] ? never : Attrs_1[K]) | (Key extends K ? Val : never); };
689
+ export type MergeAttrs<Attrs_1 extends { [Key in string | number | symbol]: any; }, NewAttrs extends { [Key in string | number | symbol]: any; }> = { [K in (keyof NewAttrs | keyof Attrs_1)]: (unknown extends Attrs_1[K] ? never : Attrs_1[K]) | (unknown extends NewAttrs[K] ? never : NewAttrs[K]); };
690
+ export type _AnyToNull<X> = 0 extends (1 & X) ? null : X;
691
+ export type AllowedDeltaFromSchema<Schema_1 extends s.Schema<Delta<any, any, any, any, any>> | null> = _AnyToNull<Schema_1> extends null ? Delta<any, {
692
+ [key: string | number | symbol]: any;
693
+ }, any, string> : (Schema_1 extends s.Schema<infer D> ? D : never);
694
+ export type RecursiveDelta<NodeName_1 extends string, Attrs_1 extends {
695
+ [key: string | number | symbol]: any;
696
+ } = {}, Children_1 extends unknown = never, Text extends string | never = never> = Delta<NodeName_1, Attrs_1, Children_1 | RecursiveDelta<NodeName_1, Attrs_1, Children_1>, Text>;
697
+ export type TextDelta<Embeds = never> = Delta<any, {}, Embeds, string>;
698
+ export type ArrayDelta<Children_1 extends unknown> = Delta<any, {}, Children_1, never>;
699
+ export type MapDelta<Attrs_1 extends {
700
+ [K: string | number | symbol]: any;
701
+ }> = Delta<any, Attrs_1, never, never>;
702
+ import * as s from '../schema.js';
703
+ import * as list from '../list.js';
704
+ import * as traits from '../traits.js';
705
+ //# sourceMappingURL=d2.d.ts.map