@ckeditor/ckeditor5-engine 48.8.1-alpha.4 → 49.0.0-alpha.1

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 (135) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/controller/datacontroller.d.ts +329 -314
  3. package/dist/controller/editingcontroller.d.ts +95 -94
  4. package/dist/conversion/comparemarkers.d.ts +45 -45
  5. package/dist/conversion/conversion.d.ts +474 -474
  6. package/dist/conversion/conversionhelpers.d.ts +21 -21
  7. package/dist/conversion/downcastdispatcher.d.ts +539 -538
  8. package/dist/conversion/downcasthelpers.d.ts +1129 -1129
  9. package/dist/conversion/mapper.d.ts +692 -697
  10. package/dist/conversion/modelconsumable.d.ts +196 -196
  11. package/dist/conversion/upcastdispatcher.d.ts +483 -475
  12. package/dist/conversion/upcasthelpers.d.ts +491 -491
  13. package/dist/conversion/viewconsumable.d.ts +330 -330
  14. package/dist/dataprocessor/basichtmlwriter.d.ts +15 -15
  15. package/dist/dataprocessor/dataprocessor.d.ts +57 -57
  16. package/dist/dataprocessor/htmldataprocessor.d.ts +72 -72
  17. package/dist/dataprocessor/htmlwriter.d.ts +11 -11
  18. package/dist/dataprocessor/xmldataprocessor.d.ts +86 -86
  19. package/dist/dev-utils/model.d.ts +128 -116
  20. package/dist/dev-utils/operationreplayer.d.ts +49 -49
  21. package/dist/dev-utils/utils.d.ts +33 -33
  22. package/dist/dev-utils/view.d.ts +314 -309
  23. package/dist/engineconfig.d.ts +39 -39
  24. package/dist/index-content.css +3 -0
  25. package/dist/index-content.css.map +1 -0
  26. package/dist/index-editor.css +33 -29
  27. package/dist/index-editor.css.map +1 -0
  28. package/dist/index.css +26 -24
  29. package/dist/index.css.map +1 -1
  30. package/dist/index.d.ts +152 -150
  31. package/dist/index.js +34246 -40050
  32. package/dist/index.js.map +1 -1
  33. package/dist/legacyerrors.d.ts +0 -4
  34. package/dist/model/batch.d.ts +86 -86
  35. package/dist/model/differ.d.ts +504 -504
  36. package/dist/model/document.d.ts +265 -262
  37. package/dist/model/documentfragment.d.ts +214 -214
  38. package/dist/model/documentselection.d.ts +412 -410
  39. package/dist/model/element.d.ts +182 -182
  40. package/dist/model/history.d.ts +109 -109
  41. package/dist/model/item.d.ts +9 -9
  42. package/dist/model/liveposition.d.ts +81 -69
  43. package/dist/model/liverange.d.ts +118 -92
  44. package/dist/model/markercollection.d.ts +317 -324
  45. package/dist/model/model.d.ts +889 -909
  46. package/dist/model/node.d.ts +254 -254
  47. package/dist/model/nodelist.d.ts +110 -110
  48. package/dist/model/operation/attributeoperation.d.ts +98 -98
  49. package/dist/model/operation/detachoperation.d.ts +57 -57
  50. package/dist/model/operation/insertoperation.d.ts +85 -85
  51. package/dist/model/operation/markeroperation.d.ts +87 -87
  52. package/dist/model/operation/mergeoperation.d.ts +95 -95
  53. package/dist/model/operation/moveoperation.d.ts +97 -91
  54. package/dist/model/operation/nooperation.d.ts +33 -33
  55. package/dist/model/operation/operation.d.ts +94 -94
  56. package/dist/model/operation/operationfactory.d.ts +14 -14
  57. package/dist/model/operation/renameoperation.d.ts +78 -78
  58. package/dist/model/operation/rootattributeoperation.d.ts +93 -93
  59. package/dist/model/operation/rootoperation.d.ts +71 -71
  60. package/dist/model/operation/splitoperation.d.ts +104 -104
  61. package/dist/model/operation/transform.d.ts +91 -91
  62. package/dist/model/operation/utils.d.ts +58 -58
  63. package/dist/model/position.d.ts +542 -535
  64. package/dist/model/range.d.ts +467 -453
  65. package/dist/model/rootelement.d.ts +55 -55
  66. package/dist/model/schema.d.ts +1325 -1327
  67. package/dist/model/selection.d.ts +452 -471
  68. package/dist/model/text.d.ts +62 -62
  69. package/dist/model/textproxy.d.ts +140 -140
  70. package/dist/model/treewalker.d.ts +190 -190
  71. package/dist/model/typecheckable.d.ts +281 -281
  72. package/dist/model/utils/autoparagraphing.d.ts +29 -29
  73. package/dist/model/utils/deletecontent.d.ts +68 -68
  74. package/dist/model/utils/getselectedcontent.d.ts +27 -27
  75. package/dist/model/utils/insertcontent.d.ts +42 -42
  76. package/dist/model/utils/insertobject.d.ts +41 -41
  77. package/dist/model/utils/modifyselection.d.ts +44 -44
  78. package/dist/model/utils/selection-post-fixer.d.ts +71 -71
  79. package/dist/model/writer.d.ts +857 -848
  80. package/dist/view/attributeelement.d.ts +123 -123
  81. package/dist/view/containerelement.d.ts +49 -49
  82. package/dist/view/datatransfer.d.ts +70 -70
  83. package/dist/view/document.d.ts +175 -177
  84. package/dist/view/documentfragment.d.ts +158 -157
  85. package/dist/view/documentselection.d.ts +308 -307
  86. package/dist/view/domconverter.d.ts +614 -658
  87. package/dist/view/downcastwriter.d.ts +1012 -1006
  88. package/dist/view/editableelement.d.ts +64 -63
  89. package/dist/view/element.d.ts +754 -754
  90. package/dist/view/elementdefinition.d.ts +79 -79
  91. package/dist/view/emptyelement.d.ts +42 -42
  92. package/dist/view/filler.d.ts +75 -75
  93. package/dist/view/item.d.ts +9 -9
  94. package/dist/view/matcher.d.ts +412 -487
  95. package/dist/view/node.d.ts +164 -163
  96. package/dist/view/observer/arrowkeysobserver.d.ts +37 -37
  97. package/dist/view/observer/bubblingemittermixin.d.ts +163 -153
  98. package/dist/view/observer/bubblingeventinfo.d.ts +45 -42
  99. package/dist/view/observer/clickobserver.d.ts +36 -36
  100. package/dist/view/observer/compositionobserver.d.ts +67 -67
  101. package/dist/view/observer/domeventdata.d.ts +46 -46
  102. package/dist/view/observer/domeventobserver.d.ts +77 -74
  103. package/dist/view/observer/fakeselectionobserver.d.ts +42 -42
  104. package/dist/view/observer/focusobserver.d.ts +84 -84
  105. package/dist/view/observer/inputobserver.d.ts +76 -76
  106. package/dist/view/observer/keyobserver.d.ts +53 -53
  107. package/dist/view/observer/mouseobserver.d.ts +73 -73
  108. package/dist/view/observer/mutationobserver.d.ts +101 -101
  109. package/dist/view/observer/observer.d.ts +84 -83
  110. package/dist/view/observer/pointerobserver.d.ts +63 -63
  111. package/dist/view/observer/selectionobserver.d.ts +141 -137
  112. package/dist/view/observer/tabobserver.d.ts +38 -38
  113. package/dist/view/observer/touchobserver.d.ts +60 -60
  114. package/dist/view/placeholder.d.ts +77 -81
  115. package/dist/view/position.d.ts +187 -187
  116. package/dist/view/range.d.ts +282 -282
  117. package/dist/view/rawelement.d.ts +72 -72
  118. package/dist/view/renderer.d.ts +282 -273
  119. package/dist/view/rooteditableelement.d.ts +43 -43
  120. package/dist/view/selection.d.ts +356 -369
  121. package/dist/view/styles/background.d.ts +15 -15
  122. package/dist/view/styles/border.d.ts +27 -27
  123. package/dist/view/styles/margin.d.ts +12 -12
  124. package/dist/view/styles/padding.d.ts +12 -12
  125. package/dist/view/styles/utils.d.ts +72 -72
  126. package/dist/view/stylesmap.d.ts +715 -715
  127. package/dist/view/text.d.ts +75 -75
  128. package/dist/view/textproxy.d.ts +92 -92
  129. package/dist/view/tokenlist.d.ts +104 -104
  130. package/dist/view/treewalker.d.ts +201 -201
  131. package/dist/view/typecheckable.d.ts +445 -445
  132. package/dist/view/uielement.d.ts +93 -93
  133. package/dist/view/upcastwriter.d.ts +412 -412
  134. package/dist/view/view.d.ts +466 -468
  135. package/package.json +3 -3
@@ -1,67 +1,67 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module engine/model/text
7
- */
8
- import { ModelNode, type ModelNodeAttributes } from './node.js';
6
+ * @module engine/model/text
7
+ */
8
+ import { ModelNode, type ModelNodeAttributes } from "./node.js";
9
9
  /**
10
- * Model text node. Type of {@link module:engine/model/node~ModelNode node} that
11
- * contains {@link module:engine/model/text~ModelText#data text data}.
12
- *
13
- * **Important:** see {@link module:engine/model/node~ModelNode} to read about restrictions using `Text` and `Node` API.
14
- *
15
- * **Note:** keep in mind that `Text` instances might indirectly got removed from model tree when model is changed.
16
- * This happens when {@link module:engine/model/writer~ModelWriter model writer} is used to change model and the text node is merged with
17
- * another text node. Then, both text nodes are removed and a new text node is inserted into the model. Because of
18
- * this behavior, keeping references to `Text` is not recommended. Instead, consider creating
19
- * {@link module:engine/model/liveposition~ModelLivePosition live position} placed before the text node.
20
- */
10
+ * Model text node. Type of {@link module:engine/model/node~ModelNode node} that
11
+ * contains {@link module:engine/model/text~ModelText#data text data}.
12
+ *
13
+ * **Important:** see {@link module:engine/model/node~ModelNode} to read about restrictions using `Text` and `Node` API.
14
+ *
15
+ * **Note:** keep in mind that `Text` instances might indirectly got removed from model tree when model is changed.
16
+ * This happens when {@link module:engine/model/writer~ModelWriter model writer} is used to change model and the text node is merged with
17
+ * another text node. Then, both text nodes are removed and a new text node is inserted into the model. Because of
18
+ * this behavior, keeping references to `Text` is not recommended. Instead, consider creating
19
+ * {@link module:engine/model/liveposition~ModelLivePosition live position} placed before the text node.
20
+ */
21
21
  export declare class ModelText extends ModelNode {
22
- /**
23
- * Text data contained in this text node.
24
- *
25
- * @internal
26
- */
27
- _data: string;
28
- /**
29
- * Creates a text node.
30
- *
31
- * **Note:** Constructor of this class shouldn't be used directly in the code.
32
- * Use the {@link module:engine/model/writer~ModelWriter#createText} method instead.
33
- *
34
- * @internal
35
- * @param data Node's text.
36
- * @param attrs Node's attributes. See {@link module:utils/tomap~toMap} for a list of accepted values.
37
- */
38
- constructor(data?: string, attrs?: ModelNodeAttributes);
39
- /**
40
- * @inheritDoc
41
- */
42
- get offsetSize(): number;
43
- /**
44
- * Returns a text data contained in the node.
45
- */
46
- get data(): string;
47
- /**
48
- * Converts `Text` instance to plain object and returns it.
49
- *
50
- * @returns`Text` instance converted to plain object.
51
- */
52
- toJSON(): unknown;
53
- /**
54
- * Creates a copy of this text node and returns it. Created text node has same text data and attributes as original text node.
55
- *
56
- * @internal
57
- * @returns `Text` instance created using given plain object.
58
- */
59
- _clone(): ModelText;
60
- /**
61
- * Creates a `Text` instance from given plain object (i.e. parsed JSON string).
62
- *
63
- * @param json Plain object to be converted to `Text`.
64
- * @returns `Text` instance created using given plain object.
65
- */
66
- static fromJSON(json: any): ModelText;
22
+ /**
23
+ * Text data contained in this text node.
24
+ *
25
+ * @internal
26
+ */
27
+ _data: string;
28
+ /**
29
+ * Creates a text node.
30
+ *
31
+ * **Note:** Constructor of this class shouldn't be used directly in the code.
32
+ * Use the {@link module:engine/model/writer~ModelWriter#createText} method instead.
33
+ *
34
+ * @internal
35
+ * @param data Node's text.
36
+ * @param attrs Node's attributes. See {@link module:utils/tomap~toMap} for a list of accepted values.
37
+ */
38
+ constructor(data?: string, attrs?: ModelNodeAttributes);
39
+ /**
40
+ * @inheritDoc
41
+ */
42
+ override get offsetSize(): number;
43
+ /**
44
+ * Returns a text data contained in the node.
45
+ */
46
+ get data(): string;
47
+ /**
48
+ * Converts `Text` instance to plain object and returns it.
49
+ *
50
+ * @returns`Text` instance converted to plain object.
51
+ */
52
+ override toJSON(): unknown;
53
+ /**
54
+ * Creates a copy of this text node and returns it. Created text node has same text data and attributes as original text node.
55
+ *
56
+ * @internal
57
+ * @returns `Text` instance created using given plain object.
58
+ */
59
+ override _clone(): ModelText;
60
+ /**
61
+ * Creates a `Text` instance from given plain object (i.e. parsed JSON string).
62
+ *
63
+ * @param json Plain object to be converted to `Text`.
64
+ * @returns `Text` instance created using given plain object.
65
+ */
66
+ static fromJSON(json: any): ModelText;
67
67
  }
@@ -1,145 +1,145 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module engine/model/textproxy
7
- */
8
- import { ModelTypeCheckable } from './typecheckable.js';
9
- import { type ModelDocumentFragment } from './documentfragment.js';
10
- import { type ModelElement } from './element.js';
11
- import { type ModelNode } from './node.js';
12
- import { type ModelText } from './text.js';
6
+ * @module engine/model/textproxy
7
+ */
8
+ import { ModelTypeCheckable } from "./typecheckable.js";
9
+ import { type ModelDocumentFragment } from "./documentfragment.js";
10
+ import { type ModelElement } from "./element.js";
11
+ import { type ModelNode } from "./node.js";
12
+ import { type ModelText } from "./text.js";
13
13
  /**
14
- * `ModelTextProxy` represents a part of {@link module:engine/model/text~ModelText text node}.
15
- *
16
- * Since {@link module:engine/model/position~ModelPosition positions} can be placed between characters of a text node,
17
- * {@link module:engine/model/range~ModelRange ranges} may contain only parts of text nodes.
18
- * When {@link module:engine/model/range~ModelRange#getItems getting items}
19
- * contained in such range, we need to represent a part of that text node, since returning the whole text node would be incorrect.
20
- * `ModelTextProxy` solves this issue.
21
- *
22
- * `ModelTextProxy` has an API similar to {@link module:engine/model/text~ModelText Text} and allows to do
23
- * most of the common tasks performed on model nodes.
24
- *
25
- * **Note:** Some `ModelTextProxy` instances may represent whole text node, not just a part of it.
26
- * See {@link module:engine/model/textproxy~ModelTextProxy#isPartial}.
27
- *
28
- * **Note:** `ModelTextProxy` is not an instance of {@link module:engine/model/node~ModelNode node}. Keep this in mind when using it as a
29
- * parameter of methods.
30
- *
31
- * **Note:** `ModelTextProxy` is a readonly interface. If you want to perform changes on model data represented by a `ModelTextProxy`
32
- * use {@link module:engine/model/writer~ModelWriter model writer API}.
33
- *
34
- * **Note:** `ModelTextProxy` instances are created on the fly, basing on the current state of model. Because of this, it is
35
- * highly unrecommended to store references to `ModelTextProxy` instances. `ModelTextProxy` instances are not refreshed when
36
- * model changes, so they might get invalidated. Instead, consider creating {@link module:engine/model/liveposition~ModelLivePosition live
37
- * position}.
38
- *
39
- * `ModelTextProxy` instances are created by {@link module:engine/model/treewalker~ModelTreeWalker model tree walker}.
40
- * You should not need to create an instance of this class by your own.
41
- */
14
+ * `ModelTextProxy` represents a part of {@link module:engine/model/text~ModelText text node}.
15
+ *
16
+ * Since {@link module:engine/model/position~ModelPosition positions} can be placed between characters of a text node,
17
+ * {@link module:engine/model/range~ModelRange ranges} may contain only parts of text nodes.
18
+ * When {@link module:engine/model/range~ModelRange#getItems getting items}
19
+ * contained in such range, we need to represent a part of that text node, since returning the whole text node would be incorrect.
20
+ * `ModelTextProxy` solves this issue.
21
+ *
22
+ * `ModelTextProxy` has an API similar to {@link module:engine/model/text~ModelText Text} and allows to do
23
+ * most of the common tasks performed on model nodes.
24
+ *
25
+ * **Note:** Some `ModelTextProxy` instances may represent whole text node, not just a part of it.
26
+ * See {@link module:engine/model/textproxy~ModelTextProxy#isPartial}.
27
+ *
28
+ * **Note:** `ModelTextProxy` is not an instance of {@link module:engine/model/node~ModelNode node}. Keep this in mind when using it as a
29
+ * parameter of methods.
30
+ *
31
+ * **Note:** `ModelTextProxy` is a readonly interface. If you want to perform changes on model data represented by a `ModelTextProxy`
32
+ * use {@link module:engine/model/writer~ModelWriter model writer API}.
33
+ *
34
+ * **Note:** `ModelTextProxy` instances are created on the fly, basing on the current state of model. Because of this, it is
35
+ * highly unrecommended to store references to `ModelTextProxy` instances. `ModelTextProxy` instances are not refreshed when
36
+ * model changes, so they might get invalidated. Instead, consider creating {@link module:engine/model/liveposition~ModelLivePosition live
37
+ * position}.
38
+ *
39
+ * `ModelTextProxy` instances are created by {@link module:engine/model/treewalker~ModelTreeWalker model tree walker}.
40
+ * You should not need to create an instance of this class by your own.
41
+ */
42
42
  export declare class ModelTextProxy extends ModelTypeCheckable {
43
- /**
44
- * Text node which part is represented by this text proxy.
45
- */
46
- readonly textNode: ModelText;
47
- /**
48
- * Text data represented by this text proxy.
49
- */
50
- readonly data: string;
51
- /**
52
- * Offset in {@link module:engine/model/textproxy~ModelTextProxy#textNode text node} from which the text proxy starts.
53
- */
54
- readonly offsetInText: number;
55
- /**
56
- * Creates a text proxy.
57
- *
58
- * @internal
59
- * @param textNode Text node which part is represented by this text proxy.
60
- * @param offsetInText Offset in {@link module:engine/model/textproxy~ModelTextProxy#textNode text node} from which the text proxy
61
- * starts.
62
- * @param length Text proxy length, that is how many text node's characters, starting from `offsetInText` it represents.
63
- */
64
- constructor(textNode: ModelText, offsetInText: number, length: number);
65
- /**
66
- * Offset at which this text proxy starts in it's parent.
67
- *
68
- * @see module:engine/model/node~ModelNode#startOffset
69
- */
70
- get startOffset(): number | null;
71
- /**
72
- * Offset size of this text proxy. Equal to the number of characters represented by the text proxy.
73
- *
74
- * @see module:engine/model/node~ModelNode#offsetSize
75
- */
76
- get offsetSize(): number;
77
- /**
78
- * Offset at which this text proxy ends in it's parent.
79
- *
80
- * @see module:engine/model/node~ModelNode#endOffset
81
- */
82
- get endOffset(): number | null;
83
- /**
84
- * Flag indicating whether `ModelTextProxy` instance covers only part of the original
85
- * {@link module:engine/model/text~ModelText text node} (`true`) or the whole text node (`false`).
86
- *
87
- * This is `false` when text proxy starts at the very beginning of
88
- * {@link module:engine/model/textproxy~ModelTextProxy#textNode textNode}
89
- * ({@link module:engine/model/textproxy~ModelTextProxy#offsetInText offsetInText} equals `0`) and text proxy sizes is equal to
90
- * text node size.
91
- */
92
- get isPartial(): boolean;
93
- /**
94
- * Parent of this text proxy, which is same as parent of text node represented by this text proxy.
95
- */
96
- get parent(): ModelElement | ModelDocumentFragment | null;
97
- /**
98
- * Root of this text proxy, which is same as root of text node represented by this text proxy.
99
- */
100
- get root(): ModelNode | ModelDocumentFragment;
101
- /**
102
- * Gets path to this text proxy.
103
- *
104
- * @see module:engine/model/node~ModelNode#getPath
105
- */
106
- getPath(): Array<number>;
107
- /**
108
- * Returns ancestors array of this text proxy.
109
- *
110
- * @param options Options object.
111
- * @param options.includeSelf When set to `true` this text proxy will be also included in parent's array.
112
- * @param options.parentFirst When set to `true`, array will be sorted from text proxy parent to root element,
113
- * otherwise root element will be the first item in the array.
114
- * @returns Array with ancestors.
115
- */
116
- getAncestors(options?: {
117
- includeSelf?: boolean;
118
- parentFirst?: boolean;
119
- }): Array<ModelTextProxy | ModelElement | ModelDocumentFragment>;
120
- /**
121
- * Checks if this text proxy has an attribute for given key.
122
- *
123
- * @param key Key of attribute to check.
124
- * @returns `true` if attribute with given key is set on text proxy, `false` otherwise.
125
- */
126
- hasAttribute(key: string): boolean;
127
- /**
128
- * Gets an attribute value for given key or `undefined` if that attribute is not set on text proxy.
129
- *
130
- * @param key Key of attribute to look for.
131
- * @returns Attribute value or `undefined`.
132
- */
133
- getAttribute(key: string): unknown;
134
- /**
135
- * Returns iterator that iterates over this node's attributes. Attributes are returned as arrays containing two
136
- * items. First one is attribute key and second is attribute value.
137
- *
138
- * This format is accepted by native `Map` object and also can be passed in `Node` constructor.
139
- */
140
- getAttributes(): IterableIterator<[string, unknown]>;
141
- /**
142
- * Returns iterator that iterates over this node's attribute keys.
143
- */
144
- getAttributeKeys(): IterableIterator<string>;
43
+ /**
44
+ * Text node which part is represented by this text proxy.
45
+ */
46
+ readonly textNode: ModelText;
47
+ /**
48
+ * Text data represented by this text proxy.
49
+ */
50
+ readonly data: string;
51
+ /**
52
+ * Offset in {@link module:engine/model/textproxy~ModelTextProxy#textNode text node} from which the text proxy starts.
53
+ */
54
+ readonly offsetInText: number;
55
+ /**
56
+ * Creates a text proxy.
57
+ *
58
+ * @internal
59
+ * @param textNode Text node which part is represented by this text proxy.
60
+ * @param offsetInText Offset in {@link module:engine/model/textproxy~ModelTextProxy#textNode text node} from which the text proxy
61
+ * starts.
62
+ * @param length Text proxy length, that is how many text node's characters, starting from `offsetInText` it represents.
63
+ */
64
+ constructor(textNode: ModelText, offsetInText: number, length: number);
65
+ /**
66
+ * Offset at which this text proxy starts in it's parent.
67
+ *
68
+ * @see module:engine/model/node~ModelNode#startOffset
69
+ */
70
+ get startOffset(): number | null;
71
+ /**
72
+ * Offset size of this text proxy. Equal to the number of characters represented by the text proxy.
73
+ *
74
+ * @see module:engine/model/node~ModelNode#offsetSize
75
+ */
76
+ get offsetSize(): number;
77
+ /**
78
+ * Offset at which this text proxy ends in it's parent.
79
+ *
80
+ * @see module:engine/model/node~ModelNode#endOffset
81
+ */
82
+ get endOffset(): number | null;
83
+ /**
84
+ * Flag indicating whether `ModelTextProxy` instance covers only part of the original
85
+ * {@link module:engine/model/text~ModelText text node} (`true`) or the whole text node (`false`).
86
+ *
87
+ * This is `false` when text proxy starts at the very beginning of
88
+ * {@link module:engine/model/textproxy~ModelTextProxy#textNode textNode}
89
+ * ({@link module:engine/model/textproxy~ModelTextProxy#offsetInText offsetInText} equals `0`) and text proxy sizes is equal to
90
+ * text node size.
91
+ */
92
+ get isPartial(): boolean;
93
+ /**
94
+ * Parent of this text proxy, which is same as parent of text node represented by this text proxy.
95
+ */
96
+ get parent(): ModelElement | ModelDocumentFragment | null;
97
+ /**
98
+ * Root of this text proxy, which is same as root of text node represented by this text proxy.
99
+ */
100
+ get root(): ModelNode | ModelDocumentFragment;
101
+ /**
102
+ * Gets path to this text proxy.
103
+ *
104
+ * @see module:engine/model/node~ModelNode#getPath
105
+ */
106
+ getPath(): Array<number>;
107
+ /**
108
+ * Returns ancestors array of this text proxy.
109
+ *
110
+ * @param options Options object.
111
+ * @param options.includeSelf When set to `true` this text proxy will be also included in parent's array.
112
+ * @param options.parentFirst When set to `true`, array will be sorted from text proxy parent to root element,
113
+ * otherwise root element will be the first item in the array.
114
+ * @returns Array with ancestors.
115
+ */
116
+ getAncestors(options?: {
117
+ includeSelf?: boolean;
118
+ parentFirst?: boolean;
119
+ }): Array<ModelTextProxy | ModelElement | ModelDocumentFragment>;
120
+ /**
121
+ * Checks if this text proxy has an attribute for given key.
122
+ *
123
+ * @param key Key of attribute to check.
124
+ * @returns `true` if attribute with given key is set on text proxy, `false` otherwise.
125
+ */
126
+ hasAttribute(key: string): boolean;
127
+ /**
128
+ * Gets an attribute value for given key or `undefined` if that attribute is not set on text proxy.
129
+ *
130
+ * @param key Key of attribute to look for.
131
+ * @returns Attribute value or `undefined`.
132
+ */
133
+ getAttribute(key: string): unknown;
134
+ /**
135
+ * Returns iterator that iterates over this node's attributes. Attributes are returned as arrays containing two
136
+ * items. First one is attribute key and second is attribute value.
137
+ *
138
+ * This format is accepted by native `Map` object and also can be passed in `Node` constructor.
139
+ */
140
+ getAttributes(): IterableIterator<[string, unknown]>;
141
+ /**
142
+ * Returns iterator that iterates over this node's attribute keys.
143
+ */
144
+ getAttributeKeys(): IterableIterator<string>;
145
145
  }