@ckeditor/ckeditor5-engine 48.2.0 → 48.3.0-alpha.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 (129) hide show
  1. package/dist/controller/datacontroller.d.ts +329 -328
  2. package/dist/controller/editingcontroller.d.ts +95 -94
  3. package/dist/conversion/comparemarkers.d.ts +45 -45
  4. package/dist/conversion/conversion.d.ts +474 -474
  5. package/dist/conversion/conversionhelpers.d.ts +21 -21
  6. package/dist/conversion/downcastdispatcher.d.ts +539 -538
  7. package/dist/conversion/downcasthelpers.d.ts +1129 -1129
  8. package/dist/conversion/mapper.d.ts +692 -697
  9. package/dist/conversion/modelconsumable.d.ts +196 -196
  10. package/dist/conversion/upcastdispatcher.d.ts +483 -482
  11. package/dist/conversion/upcasthelpers.d.ts +491 -491
  12. package/dist/conversion/viewconsumable.d.ts +330 -330
  13. package/dist/dataprocessor/basichtmlwriter.d.ts +15 -15
  14. package/dist/dataprocessor/dataprocessor.d.ts +57 -57
  15. package/dist/dataprocessor/htmldataprocessor.d.ts +72 -72
  16. package/dist/dataprocessor/htmlwriter.d.ts +11 -11
  17. package/dist/dataprocessor/xmldataprocessor.d.ts +86 -86
  18. package/dist/dev-utils/model.d.ts +128 -123
  19. package/dist/dev-utils/operationreplayer.d.ts +49 -49
  20. package/dist/dev-utils/utils.d.ts +33 -33
  21. package/dist/dev-utils/view.d.ts +314 -309
  22. package/dist/engineconfig.d.ts +39 -39
  23. package/dist/index.css.map +1 -1
  24. package/dist/index.d.ts +150 -150
  25. package/dist/index.js +34026 -40107
  26. package/dist/index.js.map +1 -1
  27. package/dist/legacyerrors.d.ts +0 -4
  28. package/dist/model/batch.d.ts +86 -86
  29. package/dist/model/differ.d.ts +504 -504
  30. package/dist/model/document.d.ts +265 -268
  31. package/dist/model/documentfragment.d.ts +214 -214
  32. package/dist/model/documentselection.d.ts +406 -410
  33. package/dist/model/element.d.ts +182 -182
  34. package/dist/model/history.d.ts +109 -109
  35. package/dist/model/item.d.ts +9 -9
  36. package/dist/model/liveposition.d.ts +70 -69
  37. package/dist/model/liverange.d.ts +93 -92
  38. package/dist/model/markercollection.d.ts +317 -324
  39. package/dist/model/model.d.ts +889 -909
  40. package/dist/model/node.d.ts +254 -254
  41. package/dist/model/nodelist.d.ts +110 -110
  42. package/dist/model/operation/attributeoperation.d.ts +98 -98
  43. package/dist/model/operation/detachoperation.d.ts +57 -57
  44. package/dist/model/operation/insertoperation.d.ts +85 -85
  45. package/dist/model/operation/markeroperation.d.ts +87 -87
  46. package/dist/model/operation/mergeoperation.d.ts +95 -95
  47. package/dist/model/operation/moveoperation.d.ts +97 -97
  48. package/dist/model/operation/nooperation.d.ts +33 -33
  49. package/dist/model/operation/operation.d.ts +94 -94
  50. package/dist/model/operation/operationfactory.d.ts +14 -14
  51. package/dist/model/operation/renameoperation.d.ts +78 -78
  52. package/dist/model/operation/rootattributeoperation.d.ts +93 -93
  53. package/dist/model/operation/rootoperation.d.ts +71 -71
  54. package/dist/model/operation/splitoperation.d.ts +104 -104
  55. package/dist/model/operation/transform.d.ts +91 -91
  56. package/dist/model/operation/utils.d.ts +58 -58
  57. package/dist/model/position.d.ts +535 -535
  58. package/dist/model/range.d.ts +458 -453
  59. package/dist/model/rootelement.d.ts +55 -55
  60. package/dist/model/schema.d.ts +1325 -1327
  61. package/dist/model/selection.d.ts +452 -471
  62. package/dist/model/text.d.ts +62 -62
  63. package/dist/model/textproxy.d.ts +140 -140
  64. package/dist/model/treewalker.d.ts +190 -190
  65. package/dist/model/typecheckable.d.ts +281 -281
  66. package/dist/model/utils/autoparagraphing.d.ts +29 -29
  67. package/dist/model/utils/deletecontent.d.ts +68 -68
  68. package/dist/model/utils/getselectedcontent.d.ts +27 -27
  69. package/dist/model/utils/insertcontent.d.ts +42 -42
  70. package/dist/model/utils/insertobject.d.ts +41 -41
  71. package/dist/model/utils/modifyselection.d.ts +44 -44
  72. package/dist/model/utils/selection-post-fixer.d.ts +71 -71
  73. package/dist/model/writer.d.ts +854 -854
  74. package/dist/view/attributeelement.d.ts +123 -123
  75. package/dist/view/containerelement.d.ts +49 -49
  76. package/dist/view/datatransfer.d.ts +70 -70
  77. package/dist/view/document.d.ts +175 -177
  78. package/dist/view/documentfragment.d.ts +158 -157
  79. package/dist/view/documentselection.d.ts +308 -307
  80. package/dist/view/domconverter.d.ts +612 -657
  81. package/dist/view/downcastwriter.d.ts +1006 -1006
  82. package/dist/view/editableelement.d.ts +64 -63
  83. package/dist/view/element.d.ts +754 -754
  84. package/dist/view/elementdefinition.d.ts +79 -79
  85. package/dist/view/emptyelement.d.ts +42 -42
  86. package/dist/view/filler.d.ts +75 -75
  87. package/dist/view/item.d.ts +9 -9
  88. package/dist/view/matcher.d.ts +412 -487
  89. package/dist/view/node.d.ts +164 -163
  90. package/dist/view/observer/arrowkeysobserver.d.ts +37 -37
  91. package/dist/view/observer/bubblingemittermixin.d.ts +163 -153
  92. package/dist/view/observer/bubblingeventinfo.d.ts +45 -42
  93. package/dist/view/observer/clickobserver.d.ts +36 -36
  94. package/dist/view/observer/compositionobserver.d.ts +67 -67
  95. package/dist/view/observer/domeventdata.d.ts +46 -46
  96. package/dist/view/observer/domeventobserver.d.ts +77 -74
  97. package/dist/view/observer/fakeselectionobserver.d.ts +42 -42
  98. package/dist/view/observer/focusobserver.d.ts +84 -84
  99. package/dist/view/observer/inputobserver.d.ts +76 -76
  100. package/dist/view/observer/keyobserver.d.ts +53 -53
  101. package/dist/view/observer/mouseobserver.d.ts +73 -73
  102. package/dist/view/observer/mutationobserver.d.ts +101 -101
  103. package/dist/view/observer/observer.d.ts +84 -83
  104. package/dist/view/observer/pointerobserver.d.ts +63 -63
  105. package/dist/view/observer/selectionobserver.d.ts +136 -136
  106. package/dist/view/observer/tabobserver.d.ts +38 -38
  107. package/dist/view/observer/touchobserver.d.ts +60 -60
  108. package/dist/view/placeholder.d.ts +80 -80
  109. package/dist/view/position.d.ts +187 -187
  110. package/dist/view/range.d.ts +282 -282
  111. package/dist/view/rawelement.d.ts +72 -72
  112. package/dist/view/renderer.d.ts +270 -272
  113. package/dist/view/rooteditableelement.d.ts +43 -43
  114. package/dist/view/selection.d.ts +356 -369
  115. package/dist/view/styles/background.d.ts +15 -15
  116. package/dist/view/styles/border.d.ts +27 -27
  117. package/dist/view/styles/margin.d.ts +12 -12
  118. package/dist/view/styles/padding.d.ts +12 -12
  119. package/dist/view/styles/utils.d.ts +72 -72
  120. package/dist/view/stylesmap.d.ts +715 -715
  121. package/dist/view/text.d.ts +75 -75
  122. package/dist/view/textproxy.d.ts +92 -92
  123. package/dist/view/tokenlist.d.ts +104 -104
  124. package/dist/view/treewalker.d.ts +201 -201
  125. package/dist/view/typecheckable.d.ts +445 -445
  126. package/dist/view/uielement.d.ts +93 -93
  127. package/dist/view/upcastwriter.d.ts +412 -412
  128. package/dist/view/view.d.ts +466 -469
  129. package/package.json +2 -2
@@ -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
  }