@fluidframework/sequence 2.0.0-internal.7.3.0 → 2.0.0-internal.8.0.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 (222) hide show
  1. package/CHANGELOG.md +168 -0
  2. package/api-extractor-lint.json +13 -0
  3. package/api-extractor.json +8 -3
  4. package/api-report/sequence.api.md +138 -113
  5. package/dist/defaultMap.d.ts +3 -3
  6. package/dist/defaultMap.d.ts.map +1 -1
  7. package/dist/defaultMap.js +7 -2
  8. package/dist/defaultMap.js.map +1 -1
  9. package/dist/defaultMapInterfaces.d.ts +12 -11
  10. package/dist/defaultMapInterfaces.d.ts.map +1 -1
  11. package/dist/defaultMapInterfaces.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +11 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/intervalCollection.d.ts +70 -16
  17. package/dist/intervalCollection.d.ts.map +1 -1
  18. package/dist/intervalCollection.js +50 -45
  19. package/dist/intervalCollection.js.map +1 -1
  20. package/dist/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  21. package/dist/intervalIndex/endpointInRangeIndex.js +1 -1
  22. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  23. package/dist/intervalIndex/endpointIndex.d.ts +2 -2
  24. package/dist/intervalIndex/endpointIndex.js +1 -1
  25. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  26. package/dist/intervalIndex/idIntervalIndex.d.ts +2 -2
  27. package/dist/intervalIndex/idIntervalIndex.js +1 -1
  28. package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
  29. package/dist/intervalIndex/intervalIndex.d.ts +1 -1
  30. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  31. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  32. package/dist/intervalIndex/overlappingIntervalsIndex.js +1 -1
  33. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  34. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  35. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  36. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  37. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  38. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  39. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  40. package/dist/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  41. package/dist/intervalIndex/startpointInRangeIndex.js +1 -1
  42. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  43. package/dist/intervalTree.d.ts +1 -2
  44. package/dist/intervalTree.d.ts.map +1 -1
  45. package/dist/intervalTree.js +1 -3
  46. package/dist/intervalTree.js.map +1 -1
  47. package/dist/intervals/interval.d.ts +5 -11
  48. package/dist/intervals/interval.d.ts.map +1 -1
  49. package/dist/intervals/interval.js +10 -18
  50. package/dist/intervals/interval.js.map +1 -1
  51. package/dist/intervals/intervalUtils.d.ts +15 -18
  52. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  53. package/dist/intervals/intervalUtils.js +3 -8
  54. package/dist/intervals/intervalUtils.js.map +1 -1
  55. package/dist/intervals/sequenceInterval.d.ts +5 -15
  56. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  57. package/dist/intervals/sequenceInterval.js +12 -28
  58. package/dist/intervals/sequenceInterval.js.map +1 -1
  59. package/dist/localValues.d.ts +2 -1
  60. package/dist/localValues.d.ts.map +1 -1
  61. package/dist/localValues.js.map +1 -1
  62. package/dist/packageVersion.d.ts +1 -1
  63. package/dist/packageVersion.js +1 -1
  64. package/dist/packageVersion.js.map +1 -1
  65. package/dist/revertibles.d.ts +9 -15
  66. package/dist/revertibles.d.ts.map +1 -1
  67. package/dist/revertibles.js +14 -10
  68. package/dist/revertibles.js.map +1 -1
  69. package/dist/sequence-alpha.d.ts +283 -552
  70. package/dist/sequence-beta.d.ts +139 -1373
  71. package/dist/sequence-public.d.ts +139 -1373
  72. package/dist/sequence-untrimmed.d.ts +186 -141
  73. package/dist/sequence.d.ts +26 -24
  74. package/dist/sequence.d.ts.map +1 -1
  75. package/dist/sequence.js +38 -23
  76. package/dist/sequence.js.map +1 -1
  77. package/dist/sequenceDeltaEvent.d.ts +4 -4
  78. package/dist/sequenceDeltaEvent.d.ts.map +1 -1
  79. package/dist/sequenceDeltaEvent.js +14 -7
  80. package/dist/sequenceDeltaEvent.js.map +1 -1
  81. package/dist/sequenceFactory.d.ts +1 -1
  82. package/dist/sequenceFactory.js +1 -1
  83. package/dist/sequenceFactory.js.map +1 -1
  84. package/dist/sharedIntervalCollection.d.ts +3 -3
  85. package/dist/sharedIntervalCollection.js +2 -2
  86. package/dist/sharedIntervalCollection.js.map +1 -1
  87. package/dist/sharedSequence.d.ts +4 -4
  88. package/dist/sharedSequence.d.ts.map +1 -1
  89. package/dist/sharedSequence.js +8 -2
  90. package/dist/sharedSequence.js.map +1 -1
  91. package/dist/sharedString.d.ts +9 -18
  92. package/dist/sharedString.d.ts.map +1 -1
  93. package/dist/sharedString.js +9 -21
  94. package/dist/sharedString.js.map +1 -1
  95. package/lib/defaultMap.d.ts +3 -3
  96. package/lib/defaultMap.d.ts.map +1 -1
  97. package/lib/defaultMap.js +29 -20
  98. package/lib/defaultMap.js.map +1 -1
  99. package/lib/defaultMapInterfaces.d.ts +12 -11
  100. package/lib/defaultMapInterfaces.d.ts.map +1 -1
  101. package/lib/defaultMapInterfaces.js +2 -1
  102. package/lib/defaultMapInterfaces.js.map +1 -1
  103. package/lib/index.d.ts +1 -0
  104. package/lib/index.d.ts.map +1 -1
  105. package/lib/index.js +55 -10
  106. package/lib/index.js.map +1 -1
  107. package/lib/intervalCollection.d.ts +70 -16
  108. package/lib/intervalCollection.d.ts.map +1 -1
  109. package/lib/intervalCollection.js +174 -156
  110. package/lib/intervalCollection.js.map +1 -1
  111. package/lib/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  112. package/lib/intervalIndex/endpointInRangeIndex.js +18 -13
  113. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  114. package/lib/intervalIndex/endpointIndex.d.ts +2 -2
  115. package/lib/intervalIndex/endpointIndex.js +14 -9
  116. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  117. package/lib/intervalIndex/idIntervalIndex.d.ts +2 -2
  118. package/lib/intervalIndex/idIntervalIndex.js +9 -5
  119. package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
  120. package/lib/intervalIndex/index.js +19 -6
  121. package/lib/intervalIndex/index.js.map +1 -1
  122. package/lib/intervalIndex/intervalIndex.d.ts +1 -1
  123. package/lib/intervalIndex/intervalIndex.js +2 -1
  124. package/lib/intervalIndex/intervalIndex.js.map +1 -1
  125. package/lib/intervalIndex/intervalIndexUtils.js +8 -4
  126. package/lib/intervalIndex/intervalIndexUtils.js.map +1 -1
  127. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  128. package/lib/intervalIndex/overlappingIntervalsIndex.js +16 -11
  129. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  130. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  131. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +15 -11
  132. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  133. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  134. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  135. package/lib/intervalIndex/sequenceIntervalIndexes.js +2 -1
  136. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  137. package/lib/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  138. package/lib/intervalIndex/startpointInRangeIndex.js +18 -13
  139. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  140. package/lib/intervalTree.d.ts +1 -2
  141. package/lib/intervalTree.d.ts.map +1 -1
  142. package/lib/intervalTree.js +7 -4
  143. package/lib/intervalTree.js.map +1 -1
  144. package/lib/intervals/index.js +18 -3
  145. package/lib/intervals/index.js.map +1 -1
  146. package/lib/intervals/interval.d.ts +5 -11
  147. package/lib/intervals/interval.d.ts.map +1 -1
  148. package/lib/intervals/interval.js +26 -29
  149. package/lib/intervals/interval.js.map +1 -1
  150. package/lib/intervals/intervalUtils.d.ts +15 -18
  151. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  152. package/lib/intervals/intervalUtils.js +21 -21
  153. package/lib/intervals/intervalUtils.js.map +1 -1
  154. package/lib/intervals/sequenceInterval.d.ts +5 -15
  155. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  156. package/lib/intervals/sequenceInterval.js +72 -82
  157. package/lib/intervals/sequenceInterval.js.map +1 -1
  158. package/lib/localValues.d.ts +2 -1
  159. package/lib/localValues.d.ts.map +1 -1
  160. package/lib/localValues.js +9 -4
  161. package/lib/localValues.js.map +1 -1
  162. package/lib/packageVersion.d.ts +1 -1
  163. package/lib/packageVersion.js +5 -2
  164. package/lib/packageVersion.js.map +1 -1
  165. package/lib/revertibles.d.ts +9 -15
  166. package/lib/revertibles.d.ts.map +1 -1
  167. package/lib/revertibles.js +83 -69
  168. package/lib/revertibles.js.map +1 -1
  169. package/lib/sequence-alpha.d.ts +283 -552
  170. package/lib/sequence-beta.d.ts +139 -1373
  171. package/lib/sequence-public.d.ts +139 -1373
  172. package/lib/sequence-untrimmed.d.ts +186 -141
  173. package/lib/sequence.d.ts +26 -24
  174. package/lib/sequence.d.ts.map +1 -1
  175. package/lib/sequence.js +81 -61
  176. package/lib/sequence.js.map +1 -1
  177. package/lib/sequenceDeltaEvent.d.ts +4 -4
  178. package/lib/sequenceDeltaEvent.d.ts.map +1 -1
  179. package/lib/sequenceDeltaEvent.js +27 -14
  180. package/lib/sequenceDeltaEvent.js.map +1 -1
  181. package/lib/sequenceFactory.d.ts +1 -1
  182. package/lib/sequenceFactory.js +14 -10
  183. package/lib/sequenceFactory.js.map +1 -1
  184. package/lib/sharedIntervalCollection.d.ts +3 -3
  185. package/lib/sharedIntervalCollection.js +20 -15
  186. package/lib/sharedIntervalCollection.js.map +1 -1
  187. package/lib/sharedSequence.d.ts +4 -4
  188. package/lib/sharedSequence.d.ts.map +1 -1
  189. package/lib/sharedSequence.js +19 -8
  190. package/lib/sharedSequence.js.map +1 -1
  191. package/lib/sharedString.d.ts +9 -18
  192. package/lib/sharedString.d.ts.map +1 -1
  193. package/lib/sharedString.js +30 -37
  194. package/lib/sharedString.js.map +1 -1
  195. package/package.json +44 -22
  196. package/sequence.test-files.tar +0 -0
  197. package/src/defaultMap.ts +22 -16
  198. package/src/defaultMapInterfaces.ts +17 -14
  199. package/src/index.ts +17 -0
  200. package/src/intervalCollection.ts +135 -71
  201. package/src/intervalIndex/endpointInRangeIndex.ts +2 -2
  202. package/src/intervalIndex/endpointIndex.ts +2 -2
  203. package/src/intervalIndex/idIntervalIndex.ts +2 -2
  204. package/src/intervalIndex/intervalIndex.ts +1 -1
  205. package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -2
  206. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +1 -1
  207. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -1
  208. package/src/intervalIndex/startpointInRangeIndex.ts +2 -2
  209. package/src/intervalTree.ts +0 -3
  210. package/src/intervals/interval.ts +7 -26
  211. package/src/intervals/intervalUtils.ts +17 -20
  212. package/src/intervals/sequenceInterval.ts +7 -35
  213. package/src/localValues.ts +2 -1
  214. package/src/packageVersion.ts +1 -1
  215. package/src/revertibles.ts +20 -19
  216. package/src/sequence.ts +61 -43
  217. package/src/sequenceDeltaEvent.ts +12 -6
  218. package/src/sequenceFactory.ts +1 -1
  219. package/src/sharedIntervalCollection.ts +3 -3
  220. package/src/sharedSequence.ts +12 -6
  221. package/src/sharedString.ts +21 -48
  222. package/tsconfig.json +1 -0
@@ -18,7 +18,6 @@ import { IChannelAttributes } from '@fluidframework/datastore-definitions';
18
18
  import { IChannelFactory } from '@fluidframework/datastore-definitions';
19
19
  import { IChannelServices } from '@fluidframework/datastore-definitions';
20
20
  import { IChannelStorageService } from '@fluidframework/datastore-definitions';
21
- import { ICombiningOp } from '@fluidframework/merge-tree';
22
21
  import { IEvent } from '@fluidframework/core-interfaces';
23
22
  import { IEventThisPlaceHolder } from '@fluidframework/core-interfaces';
24
23
  import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
@@ -27,10 +26,7 @@ import { IJSONSegment } from '@fluidframework/merge-tree';
27
26
  import { IMergeTreeDeltaCallbackArgs } from '@fluidframework/merge-tree';
28
27
  import { IMergeTreeDeltaOpArgs } from '@fluidframework/merge-tree';
29
28
  import { IMergeTreeGroupMsg } from '@fluidframework/merge-tree';
30
- import { IMergeTreeInsertMsg } from '@fluidframework/merge-tree';
31
29
  import { IMergeTreeMaintenanceCallbackArgs } from '@fluidframework/merge-tree';
32
- import { IMergeTreeOp } from '@fluidframework/merge-tree';
33
- import { IMergeTreeRemoveMsg } from '@fluidframework/merge-tree';
34
30
  import { IRelativePosition } from '@fluidframework/merge-tree';
35
31
  import { ISegment } from '@fluidframework/merge-tree';
36
32
  import { ISegmentAction } from '@fluidframework/merge-tree';
@@ -39,94 +35,100 @@ import { ISharedObjectEvents } from '@fluidframework/shared-object-base';
39
35
  import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
40
36
  import { ITelemetryContext } from '@fluidframework/runtime-definitions';
41
37
  import { LocalReferencePosition } from '@fluidframework/merge-tree';
38
+ import { MapLike } from '@fluidframework/merge-tree';
42
39
  import { Marker } from '@fluidframework/merge-tree';
43
40
  import { MergeTreeDeltaOperationType } from '@fluidframework/merge-tree';
44
41
  import { MergeTreeDeltaOperationTypes } from '@fluidframework/merge-tree';
45
42
  import { MergeTreeDeltaRevertible } from '@fluidframework/merge-tree';
43
+ import { MergeTreeDeltaType } from '@fluidframework/merge-tree';
46
44
  import { MergeTreeMaintenanceType } from '@fluidframework/merge-tree';
47
45
  import { MergeTreeRevertibleDriver } from '@fluidframework/merge-tree';
48
46
  import { PropertiesManager } from '@fluidframework/merge-tree';
49
47
  import { PropertySet } from '@fluidframework/merge-tree';
50
- import { RangeStackMap } from '@fluidframework/merge-tree';
51
48
  import { ReferencePosition } from '@fluidframework/merge-tree';
52
49
  import { ReferenceType } from '@fluidframework/merge-tree';
50
+ import { reservedMarkerIdKey } from '@fluidframework/merge-tree';
51
+ import { reservedRangeLabelsKey } from '@fluidframework/merge-tree';
52
+ import { reservedTileLabelsKey } from '@fluidframework/merge-tree';
53
53
  import { Serializable } from '@fluidframework/datastore-definitions';
54
54
  import { SharedObject } from '@fluidframework/shared-object-base';
55
55
  import { SlidingPreference } from '@fluidframework/merge-tree';
56
56
  import { SummarySerializer } from '@fluidframework/shared-object-base';
57
57
  import { TextSegment } from '@fluidframework/merge-tree';
58
+ import { TrackingGroup } from '@fluidframework/merge-tree';
58
59
  import { TypedEventEmitter } from '@fluid-internal/client-utils';
59
60
 
60
61
  /**
61
62
  * Create revertibles for adding an interval
62
- * @alpha
63
+ * @internal
63
64
  */
64
65
  export declare function appendAddIntervalToRevertibles(interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
65
66
 
66
67
  /**
67
68
  * Create revertibles for moving endpoints of an interval
68
- * @alpha
69
+ * @internal
69
70
  */
70
71
  export declare function appendChangeIntervalToRevertibles(string: SharedString, newInterval: SequenceInterval, previousInterval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
71
72
 
72
73
  /**
73
74
  * Create revertibles for deleting an interval
74
- * @alpha
75
+ * @internal
75
76
  */
76
77
  export declare function appendDeleteIntervalToRevertibles(string: SharedString, interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
77
78
 
78
79
  /**
79
80
  * Create revertibles for changing properties of an interval
80
- * @alpha
81
+ * @internal
81
82
  */
82
83
  export declare function appendIntervalPropertyChangedToRevertibles(interval: SequenceInterval, deltas: PropertySet, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
83
84
 
84
85
  /**
85
86
  * Create revertibles for SharedStringDeltas, handling indirectly modified intervals
86
87
  * (e.g. reverting remove of a range that contains an interval will move the interval back)
87
- *
88
- * @alpha
88
+ * @internal
89
89
  */
90
90
  export declare function appendSharedStringDeltaToRevertibles(string: SharedString, delta: SequenceDeltaEvent, revertibles: SharedStringRevertible[]): void;
91
91
 
92
+ export { BaseSegment }
93
+
92
94
  /**
93
- * @public
95
+ * @internal
94
96
  */
95
97
  export declare function createEndpointIndex(sharedString: SharedString): IEndpointIndex<SequenceInterval>;
96
98
 
97
99
  /**
98
- * @public
100
+ * @internal
99
101
  */
100
102
  export declare function createEndpointInRangeIndex(sharedString: SharedString): IEndpointInRangeIndex<SequenceInterval>;
101
103
 
102
104
  /**
103
- * @public
105
+ * @internal
104
106
  */
105
107
  export declare function createIdIntervalIndex<TInterval extends ISerializableInterval>(): IIdIntervalIndex<TInterval>;
106
108
 
107
109
  /**
108
- * @public
110
+ * @internal
109
111
  */
110
112
  export declare function createOverlappingIntervalsIndex(sharedString: SharedString): IOverlappingIntervalsIndex<SequenceInterval>;
111
113
 
112
114
  /**
113
- * @public
115
+ * @internal
114
116
  */
115
117
  export declare function createOverlappingSequenceIntervalsIndex(sharedString: SharedString): SequenceIntervalIndexes.Overlapping;
116
118
 
117
119
  /**
118
- * @public
120
+ * @internal
119
121
  */
120
122
  export declare function createStartpointInRangeIndex(sharedString: SharedString): IStartpointInRangeIndex<SequenceInterval>;
121
123
 
122
124
  /**
123
- * @public
125
+ * @alpha
124
126
  */
125
127
  export declare type DeserializeCallback = (properties: PropertySet) => void;
126
128
 
127
129
  /**
128
130
  * Clean up resources held by revertibles that are no longer needed.
129
- * @alpha
131
+ * @internal
130
132
  */
131
133
  export declare function discardSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
132
134
 
@@ -143,7 +145,7 @@ export declare function discardSharedStringRevertibles(sharedString: SharedStrin
143
145
  * // parallelMarkers === [<paragraph marker 1 object>, <paragraph marker 2 object>]
144
146
  * // Note parallelText does not include "missing".
145
147
  * ```
146
- * @public
148
+ * @internal
147
149
  */
148
150
  export declare function getTextAndMarkers(sharedString: SharedString, label: string, start?: number, end?: number): {
149
151
  parallelText: string[];
@@ -151,7 +153,7 @@ export declare function getTextAndMarkers(sharedString: SharedString, label: str
151
153
  };
152
154
 
153
155
  /**
154
- * @public
156
+ * @internal
155
157
  */
156
158
  export declare interface IEndpointIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
157
159
  /**
@@ -170,7 +172,7 @@ export declare interface IEndpointIndex<TInterval extends ISerializableInterval>
170
172
  * Collection of intervals.
171
173
  *
172
174
  * Provide additional APIs to support efficiently querying a collection of intervals whose endpoints fall within a specified range.
173
- * @public
175
+ * @internal
174
176
  */
175
177
  export declare interface IEndpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
176
178
  /**
@@ -180,7 +182,7 @@ export declare interface IEndpointInRangeIndex<TInterval extends ISerializableIn
180
182
  }
181
183
 
182
184
  /**
183
- * @public
185
+ * @internal
184
186
  */
185
187
  export declare interface IIdIntervalIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval>, Iterable<TInterval> {
186
188
  getIntervalById(id: string): TInterval | undefined;
@@ -189,7 +191,7 @@ export declare interface IIdIntervalIndex<TInterval extends ISerializableInterva
189
191
 
190
192
  /**
191
193
  * Basic interval abstraction
192
- * @public
194
+ * @alpha
193
195
  */
194
196
  export declare interface IInterval {
195
197
  /**
@@ -218,7 +220,6 @@ export declare interface IInterval {
218
220
  compareEnd(b: IInterval): number;
219
221
  /**
220
222
  * Modifies one or more of the endpoints of this interval, returning a new interval representing the result.
221
- * @internal
222
223
  */
223
224
  modify(label: string, start: SequencePlace | undefined, end: SequencePlace | undefined, op?: ISequencedDocumentMessage, localSeq?: number, useNewSlidingBehavior?: boolean): IInterval | undefined;
224
225
  /**
@@ -230,7 +231,6 @@ export declare interface IInterval {
230
231
  * Unions this interval with `b`, returning a new interval.
231
232
  * The union operates as a convex hull, i.e. if the two intervals are disjoint, the return value includes
232
233
  * intermediate values between the two intervals.
233
- * @internal
234
234
  */
235
235
  union(b: IInterval): IInterval;
236
236
  }
@@ -238,7 +238,7 @@ export declare interface IInterval {
238
238
  /**
239
239
  * Collection of intervals that supports addition, modification, removal, and efficient spatial querying.
240
240
  * Changes to this collection will be incur updates on collaborating clients (i.e. they are not local-only).
241
- * @public
241
+ * @alpha
242
242
  */
243
243
  export declare interface IIntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
244
244
  readonly attached: boolean;
@@ -360,19 +360,34 @@ export declare interface IIntervalCollection<TInterval extends ISerializableInte
360
360
  removeIntervalById(id: string): TInterval | undefined;
361
361
  /**
362
362
  * Changes the properties on an existing interval.
363
+ * @deprecated - call change with the id and and object containing the new properties
363
364
  * @param id - Id of the interval whose properties should be changed
364
365
  * @param props - Property set to apply to the interval. Shallow merging is used between any existing properties
365
366
  * and `prop`, i.e. the interval will end up with a property object equivalent to `{ ...oldProps, ...props }`.
366
367
  */
367
- changeProperties(id: string, props: PropertySet): any;
368
+ changeProperties(id: string, props: PropertySet): void;
368
369
  /**
369
370
  * Changes the endpoints of an existing interval.
371
+ * @deprecated - call change with the start and end parameters encapsulated in an object
370
372
  * @param id - Id of the interval to change
371
373
  * @param start - New start value. To leave the endpoint unchanged, pass the current value.
372
374
  * @param end - New end value. To leave the endpoint unchanged, pass the current value.
373
375
  * @returns the interval that was changed, if it existed in the collection.
374
376
  */
375
377
  change(id: string, start: SequencePlace, end: SequencePlace): TInterval | undefined;
378
+ /**
379
+ * Changes the endpoints, properties, or both of an existing interval.
380
+ * @param id - Id of the Interval to change
381
+ * @returns the interval that was changed, if it existed in the collection.
382
+ * Pass the desired new start position, end position, and/or properties in an object. Start and end positions must be changed
383
+ * simultaneously - they must either both be specified or both undefined. To only change the properties, leave both endpoints
384
+ * undefined. To only change the endpoints, leave the properties undefined.
385
+ */
386
+ change(id: string, { start, end, props }: {
387
+ start?: SequencePlace;
388
+ end?: SequencePlace;
389
+ props?: PropertySet;
390
+ }): TInterval | undefined;
376
391
  attachDeserializer(onDeserialize: DeserializeCallback): void;
377
392
  /**
378
393
  * @returns an iterator over all intervals in this collection.
@@ -404,6 +419,14 @@ export declare interface IIntervalCollection<TInterval extends ISerializableInte
404
419
  */
405
420
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
406
421
  /**
422
+ * @deprecated - Users must manually attach the corresponding interval index to utilize this functionality, for instance:
423
+ *
424
+ * ```typescript
425
+ * const overlappingIntervalsIndex = createOverlappingIntervalsIndex(sharedString);
426
+ * collection.attachIndex(overlappingIntervalsIndex)
427
+ * const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
428
+ * ```
429
+ *
407
430
  * @returns an array of all intervals in this collection that overlap with the interval
408
431
  * `[startPosition, endPosition]`.
409
432
  */
@@ -412,13 +435,34 @@ export declare interface IIntervalCollection<TInterval extends ISerializableInte
412
435
  * Applies a function to each interval in this collection.
413
436
  */
414
437
  map(fn: (interval: TInterval) => void): void;
438
+ /**
439
+ * @deprecated - due to the forthcoming change where the endpointIndex will no longer be
440
+ * automatically added to the collection. Users are advised to independently attach the
441
+ * index to the collection and utilize the API accordingly, for instance:
442
+ * ```typescript
443
+ * const endpointIndex = createEndpointIndex(sharedString);
444
+ * collection.attachIndex(endpointIndex);
445
+ * const result1 = endpointIndex.previousInterval(pos);
446
+ * ```
447
+ * If an index is used repeatedly, applications should generally attach it once and store it in memory.
448
+ */
415
449
  previousInterval(pos: number): TInterval | undefined;
450
+ /**
451
+ * @deprecated - due to the forthcoming change where the endpointIndex will no longer be
452
+ * automatically added to the collection. Users are advised to independently attach the
453
+ * index to the collection and utilize the API accordingly, for instance:
454
+ * ```typescript
455
+ * const endpointIndex = createEndpointIndex(sharedString);
456
+ * collection.attachIndex(endpointIndex);
457
+ * const result2 = endpointIndex.nextInterval(pos);
458
+ * ```
459
+ */
416
460
  nextInterval(pos: number): TInterval | undefined;
417
461
  }
418
462
 
419
463
  /**
420
464
  * Change events emitted by `IntervalCollection`s
421
- * @public
465
+ * @alpha
422
466
  */
423
467
  export declare interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
424
468
  /**
@@ -434,13 +478,13 @@ export declare interface IIntervalCollectionEvent<TInterval extends ISerializabl
434
478
  * `op` is defined if and only if the server has acked this change.
435
479
  * `slide` is true if the change is due to sliding on removal of position
436
480
  */
437
- (event: "changeInterval", listener: (interval: TInterval, previousInterval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined, slide: boolean) => void): any;
481
+ (event: "changeInterval", listener: (interval: TInterval, previousInterval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined, slide: boolean) => void): void;
438
482
  /**
439
483
  * This event is invoked whenever an interval is added or removed from the collection.
440
484
  * `local` reflects whether the change originated locally.
441
485
  * `op` is defined if and only if the server has acked this change.
442
486
  */
443
- (event: "addInterval" | "deleteInterval", listener: (interval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): any;
487
+ (event: "addInterval" | "deleteInterval", listener: (interval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
444
488
  /**
445
489
  * This event is invoked whenever an interval's properties have changed.
446
490
  * `interval` reflects the state of the updated properties.
@@ -450,13 +494,13 @@ export declare interface IIntervalCollectionEvent<TInterval extends ISerializabl
450
494
  * `local` reflects whether the change originated locally.
451
495
  * `op` is defined if and only if the server has acked this change.
452
496
  */
453
- (event: "propertyChanged", listener: (interval: TInterval, propertyDeltas: PropertySet, local: boolean, op: ISequencedDocumentMessage | undefined) => void): any;
497
+ (event: "propertyChanged", listener: (interval: TInterval, propertyDeltas: PropertySet, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
454
498
  }
455
499
 
456
500
  /**
457
501
  * @sealed
458
502
  * @deprecated The methods within have substitutions
459
- * @public
503
+ * @internal
460
504
  */
461
505
  export declare interface IIntervalHelpers<TInterval extends ISerializableInterval> {
462
506
  /**
@@ -479,7 +523,7 @@ export declare interface IIntervalHelpers<TInterval extends ISerializableInterva
479
523
 
480
524
  /**
481
525
  * @deprecated IJSONRunSegment will be removed in a upcoming release. It has been moved to the fluid-experimental/sequence-deprecated package
482
- * @public
526
+ * @internal
483
527
  */
484
528
  export declare interface IJSONRunSegment<T> extends IJSONSegment {
485
529
  items: Serializable<T>[];
@@ -496,7 +540,7 @@ export declare interface IMapMessageLocalMetadata {
496
540
  * A sequence place that does not refer to the special endpoint segments.
497
541
  *
498
542
  * See {@link SequencePlace} for additional context.
499
- * @public
543
+ * @alpha
500
544
  */
501
545
  export declare interface InteriorSequencePlace {
502
546
  pos: number;
@@ -505,7 +549,7 @@ export declare interface InteriorSequencePlace {
505
549
 
506
550
  /**
507
551
  * Serializable interval whose endpoints are plain-old numbers.
508
- * @public
552
+ * @internal
509
553
  */
510
554
  export declare class Interval implements ISerializableInterval {
511
555
  start: number;
@@ -514,13 +558,12 @@ export declare class Interval implements ISerializableInterval {
514
558
  * {@inheritDoc ISerializableInterval.properties}
515
559
  */
516
560
  properties: PropertySet;
517
- /** @internal */
561
+ /***/
518
562
  auxProps: PropertySet[] | undefined;
519
563
  /**
520
564
  * {@inheritDoc ISerializableInterval.propertyManager}
521
- * @internal
522
565
  */
523
- propertyManager: PropertiesManager;
566
+ readonly propertyManager: PropertiesManager;
524
567
  constructor(start: number, end: number, props?: PropertySet);
525
568
  /**
526
569
  * {@inheritDoc ISerializableInterval.getIntervalId}
@@ -541,7 +584,6 @@ export declare class Interval implements ISerializableInterval {
541
584
  addPropertySet(props: PropertySet): void;
542
585
  /**
543
586
  * {@inheritDoc ISerializableInterval.serialize}
544
- * @internal
545
587
  */
546
588
  serialize(): ISerializedInterval;
547
589
  /**
@@ -566,21 +608,17 @@ export declare class Interval implements ISerializableInterval {
566
608
  overlaps(b: Interval): boolean;
567
609
  /**
568
610
  * {@inheritDoc IInterval.union}
569
- * @internal
570
611
  */
571
612
  union(b: Interval): Interval;
572
613
  getProperties(): PropertySet;
573
614
  /**
574
615
  * {@inheritDoc ISerializableInterval.addProperties}
575
- * @internal
576
616
  */
577
- addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
617
+ addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number): PropertySet | undefined;
578
618
  /**
579
619
  * {@inheritDoc IInterval.modify}
580
- * @internal
581
620
  */
582
621
  modify(label: string, start?: SequencePlace, end?: SequencePlace, op?: ISequencedDocumentMessage): Interval | undefined;
583
- private initializeProperties;
584
622
  }
585
623
 
586
624
  /**
@@ -591,7 +629,7 @@ export declare class Interval implements ISerializableInterval {
591
629
  * - "find all intervals with start endpoint between these two points"
592
630
  * - "find all intervals which overlap this range"
593
631
  * etc.
594
- * @public
632
+ * @alpha
595
633
  */
596
634
  export declare interface IntervalIndex<TInterval extends ISerializableInterval> {
597
635
  /**
@@ -610,7 +648,7 @@ export declare interface IntervalIndex<TInterval extends ISerializableInterval>
610
648
 
611
649
  /**
612
650
  * Information that identifies an interval within a `Sequence`.
613
- * @public
651
+ * @internal
614
652
  */
615
653
  export declare interface IntervalLocator {
616
654
  /**
@@ -628,13 +666,13 @@ export declare interface IntervalLocator {
628
666
  * @returns undefined if the reference position is not the endpoint of any interval (e.g. it was created
629
667
  * on the merge tree directly by app code), otherwise an {@link IntervalLocator} for the interval this
630
668
  * endpoint is a part of.
631
- * @public
669
+ * @internal
632
670
  */
633
671
  export declare function intervalLocatorFromEndpoint(potentialEndpoint: LocalReferencePosition): IntervalLocator | undefined;
634
672
 
635
673
  /**
636
674
  * Values are used in persisted formats (ops) and revertibles.
637
- * @alpha
675
+ * @internal
638
676
  */
639
677
  export declare const IntervalOpType: {
640
678
  readonly ADD: "add";
@@ -644,10 +682,14 @@ export declare const IntervalOpType: {
644
682
  readonly POSITION_REMOVE: "positionRemove";
645
683
  };
646
684
 
685
+ /**
686
+ * @internal
687
+ */
688
+ export declare type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
689
+
647
690
  /**
648
691
  * Data for undoing edits affecting Intervals.
649
- *
650
- * @alpha
692
+ * @internal
651
693
  */
652
694
  export declare type IntervalRevertible = {
653
695
  event: typeof IntervalOpType.CHANGE;
@@ -689,7 +731,7 @@ export declare type IntervalRevertible = {
689
731
  * Note that interval stickiness is currently an experimental feature and must
690
732
  * be explicitly enabled with the `intervalStickinessEnabled` flag
691
733
  *
692
- * @internal
734
+ * @alpha
693
735
  */
694
736
  export declare const IntervalStickiness: {
695
737
  /**
@@ -718,20 +760,15 @@ export declare const IntervalStickiness: {
718
760
  *
719
761
  * Note that interval stickiness is currently an experimental feature and must
720
762
  * be explicitly enabled with the `intervalStickinessEnabled` flag
721
- *
722
- * @internal
763
+ * @alpha
723
764
  */
724
765
  export declare type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof IntervalStickiness];
725
766
 
726
767
  /**
727
- * @public
768
+ * @alpha
728
769
  */
729
770
  export declare enum IntervalType {
730
771
  Simple = 0,
731
- /**
732
- * @deprecated this functionality is no longer supported and will be removed
733
- */
734
- Nest = 1,
735
772
  /**
736
773
  * SlideOnRemove indicates that the ends of the interval will slide if the segment
737
774
  * they reference is removed and acked.
@@ -747,7 +784,7 @@ export declare enum IntervalType {
747
784
  }
748
785
 
749
786
  /**
750
- * @public
787
+ * @internal
751
788
  */
752
789
  export declare interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
753
790
  /**
@@ -761,9 +798,11 @@ export declare interface IOverlappingIntervalsIndex<TInterval extends ISerializa
761
798
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: SequencePlace, end?: SequencePlace): void;
762
799
  }
763
800
 
801
+ export { ISegment }
802
+
764
803
  /**
765
804
  * A range that has changed corresponding to a segment modification.
766
- * @public
805
+ * @alpha
767
806
  */
768
807
  export declare interface ISequenceDeltaRange<TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes> {
769
808
  /**
@@ -798,16 +837,16 @@ export declare interface ISequenceDeltaRange<TOperation extends MergeTreeDeltaOp
798
837
  }
799
838
 
800
839
  /**
801
- * @public
840
+ * @alpha
802
841
  */
803
842
  export declare interface ISerializableInterval extends IInterval {
804
843
  /** Serializable bag of properties associated with the interval. */
805
844
  properties: PropertySet;
806
- /** @internal */
845
+ /***/
807
846
  propertyManager: PropertiesManager;
808
- /** @internal */
847
+ /***/
809
848
  serialize(): ISerializedInterval;
810
- /** @internal */
849
+ /***/
811
850
  addProperties(props: PropertySet, collaborating?: boolean, seq?: number): PropertySet | undefined;
812
851
  /**
813
852
  * Gets the id associated with this interval.
@@ -822,7 +861,7 @@ export declare interface ISerializableInterval extends IInterval {
822
861
  /**
823
862
  * Serialized object representation of an interval.
824
863
  * This representation is used for ops that create or change intervals.
825
- * @internal
864
+ * @alpha
826
865
  */
827
866
  export declare interface ISerializedInterval {
828
867
  /**
@@ -850,7 +889,7 @@ export declare interface ISerializedInterval {
850
889
  }
851
890
 
852
891
  /**
853
- * @public
892
+ * @alpha
854
893
  */
855
894
  export declare interface ISharedIntervalCollection<TInterval extends ISerializableInterval> {
856
895
  getIntervalCollection(label: string): IIntervalCollection<TInterval>;
@@ -888,17 +927,17 @@ export declare interface ISharedIntervalCollection<TInterval extends ISerializab
888
927
  * - `event` - Various information on the segments that were modified.
889
928
  *
890
929
  * - `target` - The sequence itself.
891
- * @public
930
+ * @alpha
892
931
  */
893
932
  export declare interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
894
- (event: "createIntervalCollection", listener: (label: string, local: boolean, target: IEventThisPlaceHolder) => void): any;
895
- (event: "sequenceDelta", listener: (event: SequenceDeltaEvent, target: IEventThisPlaceHolder) => void): any;
896
- (event: "maintenance", listener: (event: SequenceMaintenanceEvent, target: IEventThisPlaceHolder) => void): any;
933
+ (event: "createIntervalCollection", listener: (label: string, local: boolean, target: IEventThisPlaceHolder) => void): void;
934
+ (event: "sequenceDelta", listener: (event: SequenceDeltaEvent, target: IEventThisPlaceHolder) => void): void;
935
+ (event: "maintenance", listener: (event: SequenceMaintenanceEvent, target: IEventThisPlaceHolder) => void): void;
897
936
  }
898
937
 
899
938
  /**
900
939
  * Fluid object interface describing access methods on a SharedString
901
- * @public
940
+ * @alpha
902
941
  */
903
942
  export declare interface ISharedString extends SharedSegmentSequence<SharedStringSegment> {
904
943
  /**
@@ -914,7 +953,7 @@ export declare interface ISharedString extends SharedSegmentSequence<SharedStrin
914
953
  * @param refType - The reference type of the marker
915
954
  * @param props - The properties of the marker
916
955
  */
917
- insertMarker(pos: number, refType: ReferenceType, props?: PropertySet): IMergeTreeInsertMsg | undefined;
956
+ insertMarker(pos: number, refType: ReferenceType, props?: PropertySet): void;
918
957
  /**
919
958
  * {@inheritDoc SharedSegmentSequence.posFromRelativePos}
920
959
  */
@@ -925,7 +964,7 @@ export declare interface ISharedString extends SharedSegmentSequence<SharedStrin
925
964
  * Collection of intervals.
926
965
  *
927
966
  * Provide additional APIs to support efficiently querying a collection of intervals whose startpoints fall within a specified range.
928
- * @public
967
+ * @internal
929
968
  */
930
969
  export declare interface IStartpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
931
970
  /**
@@ -937,23 +976,42 @@ export declare interface IStartpointInRangeIndex<TInterval extends ISerializable
937
976
  /**
938
977
  * Value types are given an IValueOpEmitter to emit their ops through the container type that holds them.
939
978
  * @internal
979
+ * @deprecated - will be remove from public api as there is no public used of this type
940
980
  */
941
981
  export declare interface IValueOpEmitter {
942
982
  /**
943
983
  * Called by the value type to emit a value type operation through the container type holding it.
944
984
  * @param opName - Name of the emitted operation
945
- * @param previousValue - JSONable previous value as defined by the value type
985
+ * @param previousValue - JSONable previous value as defined by the value type @deprecated unused
946
986
  * @param params - JSONable params for the operation as defined by the value type
947
987
  * @param localOpMetadata - JSONable local metadata which should be submitted with the op
948
- * @internal
949
988
  */
950
- emit(opName: string, previousValue: any, params: any, localOpMetadata: IMapMessageLocalMetadata): void;
989
+ emit(opName: IntervalOpType, previousValue: undefined, params: SerializedIntervalDelta, localOpMetadata: IMapMessageLocalMetadata): void;
951
990
  }
952
991
 
992
+ export { LocalReferencePosition }
993
+
994
+ export { MapLike }
995
+
996
+ export { Marker }
997
+
998
+ export { MergeTreeDeltaType }
999
+
1000
+ export { PropertySet }
1001
+
1002
+ export { ReferencePosition }
1003
+
1004
+ export { ReferenceType }
1005
+
1006
+ export { reservedMarkerIdKey }
1007
+
1008
+ export { reservedRangeLabelsKey }
1009
+
1010
+ export { reservedTileLabelsKey }
1011
+
953
1012
  /**
954
1013
  * Invoke revertibles to reverse prior edits
955
- *
956
- * @alpha
1014
+ * @internal
957
1015
  */
958
1016
  export declare function revertSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
959
1017
 
@@ -967,7 +1025,7 @@ export declare function revertSharedStringRevertibles(sharedString: SharedString
967
1025
  * For group ops, each op will get its own event, and the group op property will be set on the op args.
968
1026
  *
969
1027
  * Ops may get multiple events. For instance, an insert-replace will get a remove then an insert event.
970
- * @public
1028
+ * @alpha
971
1029
  */
972
1030
  export declare class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationType> {
973
1031
  readonly opArgs: IMergeTreeDeltaOpArgs;
@@ -984,7 +1042,7 @@ export declare class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOper
984
1042
  * The properties of this object and its sub-objects represent the state of the sequence at the
985
1043
  * point in time at which the operation was applied.
986
1044
  * They will not take into any future modifications performed to the underlying sequence and merge tree.
987
- * @public
1045
+ * @alpha
988
1046
  */
989
1047
  export declare abstract class SequenceEvent<TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes> {
990
1048
  readonly deltaArgs: IMergeTreeDeltaCallbackArgs<TOperation>;
@@ -1039,7 +1097,7 @@ export declare abstract class SequenceEvent<TOperation extends MergeTreeDeltaOpe
1039
1097
  * `mergeTreeReferencesCanSlideToEndpoint` feature flag set to true, the endpoints
1040
1098
  * of the interval that are exclusive will have the ability to slide to these
1041
1099
  * special endpoint segments.
1042
- * @public
1100
+ * @alpha
1043
1101
  */
1044
1102
  export declare class SequenceInterval implements ISerializableInterval {
1045
1103
  private readonly client;
@@ -1062,12 +1120,9 @@ export declare class SequenceInterval implements ISerializableInterval {
1062
1120
  properties: PropertySet;
1063
1121
  /**
1064
1122
  * {@inheritDoc ISerializableInterval.propertyManager}
1065
- * @internal
1066
1123
  */
1067
1124
  propertyManager: PropertiesManager;
1068
- /**
1069
- * @internal
1070
- */
1125
+ /***/
1071
1126
  get stickiness(): IntervalStickiness;
1072
1127
  constructor(client: Client,
1073
1128
  /**
@@ -1083,17 +1138,14 @@ export declare class SequenceInterval implements ISerializableInterval {
1083
1138
  private callbacks?;
1084
1139
  /**
1085
1140
  * Subscribes to position change events on this interval if there are no current listeners.
1086
- * @internal
1087
1141
  */
1088
1142
  addPositionChangeListeners(beforePositionChange: () => void, afterPositionChange: () => void): void;
1089
1143
  /**
1090
1144
  * Removes the currently subscribed position change listeners.
1091
- * @internal
1092
1145
  */
1093
1146
  removePositionChangeListeners(): void;
1094
1147
  /**
1095
1148
  * {@inheritDoc ISerializableInterval.serialize}
1096
- * @internal
1097
1149
  */
1098
1150
  serialize(): ISerializedInterval;
1099
1151
  /**
@@ -1122,42 +1174,39 @@ export declare class SequenceInterval implements ISerializableInterval {
1122
1174
  getIntervalId(): string;
1123
1175
  /**
1124
1176
  * {@inheritDoc IInterval.union}
1125
- * @internal
1126
1177
  */
1127
1178
  union(b: SequenceInterval): SequenceInterval;
1128
1179
  /**
1129
1180
  * {@inheritDoc ISerializableInterval.addProperties}
1130
- * @internal
1131
1181
  */
1132
- addProperties(newProps: PropertySet, collab?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
1182
+ addProperties(newProps: PropertySet, collab?: boolean, seq?: number): PropertySet | undefined;
1133
1183
  /**
1134
1184
  * @returns whether this interval overlaps two numerical positions.
1135
1185
  */
1136
1186
  overlapsPos(bstart: number, bend: number): boolean;
1137
1187
  /**
1138
1188
  * {@inheritDoc IInterval.modify}
1139
- * @internal
1140
1189
  */
1141
1190
  modify(label: string, start: SequencePlace | undefined, end: SequencePlace | undefined, op?: ISequencedDocumentMessage, localSeq?: number, useNewSlidingBehavior?: boolean): SequenceInterval;
1142
- private initializeProperties;
1143
1191
  }
1144
1192
 
1145
1193
  /**
1146
1194
  * @deprecated The methods within have substitutions
1147
- * @public
1195
+ * @internal
1148
1196
  */
1149
1197
  export declare const sequenceIntervalHelpers: IIntervalHelpers<SequenceInterval>;
1150
1198
 
1151
1199
  /**
1152
1200
  * This namespace contains specialiazations of indexes which support spatial queries
1153
1201
  * specifically for `SequenceInterval`s.
1154
- * @public
1202
+ * @internal
1155
1203
  */
1156
1204
  export declare namespace SequenceIntervalIndexes {
1157
1205
  /**
1158
1206
  * Collection of intervals.
1159
1207
  *
1160
1208
  * Provides additional APIs to support efficiently querying a collection of intervals based on segments and offset.
1209
+ * @internal
1161
1210
  */
1162
1211
  export interface Overlapping extends IOverlappingIntervalsIndex<SequenceInterval> {
1163
1212
  /**
@@ -1181,7 +1230,7 @@ export declare namespace SequenceIntervalIndexes {
1181
1230
  * The properties of this object and its sub-objects represent the state of the sequence at the
1182
1231
  * point in time at which the operation was applied.
1183
1232
  * They will not take into consideration any future modifications performed to the underlying sequence and merge tree.
1184
- * @public
1233
+ * @alpha
1185
1234
  */
1186
1235
  export declare class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {
1187
1236
  readonly opArgs: IMergeTreeDeltaOpArgs | undefined;
@@ -1190,7 +1239,7 @@ export declare class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMai
1190
1239
 
1191
1240
  /**
1192
1241
  * Optional flags that configure options for sequence DDSs
1193
- * @public
1242
+ * @internal
1194
1243
  */
1195
1244
  export declare interface SequenceOptions {
1196
1245
  /**
@@ -1243,7 +1292,7 @@ export declare interface SequenceOptions {
1243
1292
  * If a SequencePlace is the endpoint of a range (e.g. start/end of an interval or search range),
1244
1293
  * the Side value means it is exclusive if it is nearer to the other position and inclusive if it is farther.
1245
1294
  * E.g. the start of a range with Side.After is exclusive of the character at the position.
1246
- * @public
1295
+ * @alpha
1247
1296
  */
1248
1297
  export declare type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
1249
1298
 
@@ -1256,7 +1305,7 @@ export declare type SerializedIntervalDelta = Omit<ISerializedInterval, "start"
1256
1305
 
1257
1306
  /**
1258
1307
  * @deprecated `SharedIntervalCollection` is not maintained and is planned to be removed.
1259
- * @public
1308
+ * @internal
1260
1309
  */
1261
1310
  export declare class SharedIntervalCollection extends SharedObject implements ISharedIntervalCollection<Interval> {
1262
1311
  /**
@@ -1300,7 +1349,7 @@ export declare class SharedIntervalCollection extends SharedObject implements IS
1300
1349
  /**
1301
1350
  * The factory that defines the SharedIntervalCollection.
1302
1351
  * @deprecated `SharedIntervalCollection` is not maintained and is planned to be removed.
1303
- * @public
1352
+ * @internal
1304
1353
  */
1305
1354
  export declare class SharedIntervalCollectionFactory implements IChannelFactory {
1306
1355
  static readonly Type = "https://graph.microsoft.com/types/sharedIntervalCollection";
@@ -1315,7 +1364,7 @@ export declare class SharedIntervalCollectionFactory implements IChannelFactory
1315
1364
  }
1316
1365
 
1317
1366
  /**
1318
- * @public
1367
+ * @alpha
1319
1368
  */
1320
1369
  export declare abstract class SharedSegmentSequence<T extends ISegment> extends SharedObject<ISharedSegmentSequenceEvents> implements ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
1321
1370
  private readonly dataStoreRuntime;
@@ -1333,7 +1382,6 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
1333
1382
  *
1334
1383
  * An application using SharedString which explicitly wants to opt in to allowing reentrancy anyway can set `sharedStringPreventReentrancy`
1335
1384
  * on the data store options to `false`.
1336
- * @internal
1337
1385
  */
1338
1386
  protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
1339
1387
  private static createOpsFromDelta;
@@ -1350,9 +1398,19 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
1350
1398
  * @param start - The inclusive start of the range to remove
1351
1399
  * @param end - The exclusive end of the range to remove
1352
1400
  */
1353
- removeRange(start: number, end: number): IMergeTreeRemoveMsg;
1401
+ removeRange(start: number, end: number): void;
1354
1402
  /**
1355
- * @deprecated The ability to create group ops will be removed in an upcoming release, as group ops are redundant with the native batching capabilities of the runtime
1403
+ * Obliterate is similar to remove, but differs in that segments concurrently
1404
+ * inserted into an obliterated range will also be removed
1405
+ *
1406
+ * @param start - The inclusive start of the range to obliterate
1407
+ * @param end - The exclusive end of the range to obliterate
1408
+ */
1409
+ obliterateRange(start: number, end: number): void;
1410
+ /**
1411
+ * @deprecated The ability to create group ops will be removed in an upcoming
1412
+ * release, as group ops are redundant with the native batching capabilities
1413
+ * of the runtime
1356
1414
  */
1357
1415
  groupOperation(groupOp: IMergeTreeGroupMsg): void;
1358
1416
  /**
@@ -1380,10 +1438,9 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
1380
1438
  * @param start - The inclusive start position of the range to annotate
1381
1439
  * @param end - The exclusive end position of the range to annotate
1382
1440
  * @param props - The properties to annotate the range with
1383
- * @param combiningOp - Optional. Specifies how to combine values for the property, such as "incr" for increment.
1384
1441
  *
1385
1442
  */
1386
- annotateRange(start: number, end: number, props: PropertySet, combiningOp?: ICombiningOp): void;
1443
+ annotateRange(start: number, end: number, props: PropertySet): void;
1387
1444
  getPropertiesAtPosition(pos: number): PropertySet | undefined;
1388
1445
  getRangeExtentsOfPosition(pos: number): {
1389
1446
  posStart: number | undefined;
@@ -1421,10 +1478,7 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
1421
1478
  * @param remoteClientId - The client id of the remote client
1422
1479
  */
1423
1480
  resolveRemoteClientPosition(remoteClientPosition: number, remoteClientRefSeq: number, remoteClientId: string): number | undefined;
1424
- /**
1425
- * @deprecated This method will no longer be public in an upcoming release as it is not safe to use outside of this class
1426
- */
1427
- submitSequenceMessage(message: IMergeTreeOp): void;
1481
+ private submitSequenceMessage;
1428
1482
  /**
1429
1483
  * Given a position specified relative to a marker id, lookup the marker
1430
1484
  * and convert the position to a character position.
@@ -1433,22 +1487,19 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
1433
1487
  posFromRelativePos(relativePos: IRelativePosition): number;
1434
1488
  /**
1435
1489
  * Walk the underlying segments of the sequence.
1436
- * The walked segments may extend beyond the range
1437
- * if the segments cross the ranges start or end boundaries.
1438
- * Set split range to true to ensure only segments within the
1439
- * range are walked.
1490
+ * The walked segments may extend beyond the range if the segments cross the
1491
+ * ranges start or end boundaries.
1492
+ *
1493
+ * Set split range to true to ensure only segments within the range are walked.
1440
1494
  *
1441
- * @param handler - The function to handle each segment
1495
+ * @param handler - The function to handle each segment. Traversal ends if
1496
+ * this function returns true.
1442
1497
  * @param start - Optional. The start of range walk.
1443
1498
  * @param end - Optional. The end of range walk
1444
1499
  * @param accum - Optional. An object that will be passed to the handler for accumulation
1445
1500
  * @param splitRange - Optional. Splits boundary segments on the range boundaries
1446
1501
  */
1447
1502
  walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
1448
- /**
1449
- * @deprecated this functionality is no longer supported and will be removed
1450
- */
1451
- getStackContext(startPos: number, rangeLabels: string[]): RangeStackMap;
1452
1503
  /**
1453
1504
  * @returns The most recent sequence number which has been acked by the server and processed by this
1454
1505
  * SharedSegmentSequence.
@@ -1544,7 +1595,7 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
1544
1595
 
1545
1596
  /**
1546
1597
  * @deprecated SharedSequence will be removed in a upcoming release. It has been moved to the fluid-experimental/sequence-deprecated package
1547
- * @public
1598
+ * @internal
1548
1599
  */
1549
1600
  export declare class SharedSequence<T> extends SharedSegmentSequence<SubSequence<T>> {
1550
1601
  id: string;
@@ -1581,8 +1632,7 @@ export declare class SharedSequence<T> extends SharedSegmentSequence<SubSequence
1581
1632
  * In addition to text, a Shared String can also contain markers. Markers can be
1582
1633
  * used to store metadata at positions within the text, like the details of an
1583
1634
  * image or Fluid object that should be rendered with the text.
1584
- *
1585
- * @public
1635
+ * @alpha
1586
1636
  */
1587
1637
  export declare class SharedString extends SharedSegmentSequence<SharedStringSegment> implements ISharedString {
1588
1638
  id: string;
@@ -1611,7 +1661,7 @@ export declare class SharedString extends SharedSegmentSequence<SharedStringSegm
1611
1661
  /**
1612
1662
  * {@inheritDoc ISharedString.insertMarker}
1613
1663
  */
1614
- insertMarker(pos: number, refType: ReferenceType, props?: PropertySet): IMergeTreeInsertMsg | undefined;
1664
+ insertMarker(pos: number, refType: ReferenceType, props?: PropertySet): void;
1615
1665
  /**
1616
1666
  * Inserts the text at the position.
1617
1667
  * @param relativePos1 - The relative position to insert the text at
@@ -1637,21 +1687,13 @@ export declare class SharedString extends SharedSegmentSequence<SharedStringSegm
1637
1687
  * @param end - The exclusive end of the range to replace
1638
1688
  * @returns the message sent.
1639
1689
  */
1640
- removeText(start: number, end: number): IMergeTreeRemoveMsg;
1641
- /**
1642
- * Annotates the marker with the provided properties and calls the callback on consensus.
1643
- * @param marker - The marker to annotate
1644
- * @param props - The properties to annotate the marker with
1645
- * @param consensusCallback - The callback called when consensus is reached
1646
- */
1647
- annotateMarkerNotifyConsensus(marker: Marker, props: PropertySet, callback: (m: Marker) => void): void;
1690
+ removeText(start: number, end: number): void;
1648
1691
  /**
1649
1692
  * Annotates the marker with the provided properties.
1650
1693
  * @param marker - The marker to annotate
1651
1694
  * @param props - The properties to annotate the marker with
1652
- * @param combiningOp - Optional. Specifies how to combine values for the property, such as "incr" for increment.
1653
1695
  */
1654
- annotateMarker(marker: Marker, props: PropertySet, combiningOp?: ICombiningOp): void;
1696
+ annotateMarker(marker: Marker, props: PropertySet): void;
1655
1697
  /**
1656
1698
  * Finds the nearest reference with ReferenceType.Tile to `startPos` in the direction dictated by `tilePrecedesPos`.
1657
1699
  * Note that Markers receive `ReferenceType.Tile` by default.
@@ -1698,7 +1740,7 @@ export declare class SharedString extends SharedSegmentSequence<SharedStringSegm
1698
1740
  }
1699
1741
 
1700
1742
  /**
1701
- * @public
1743
+ * @alpha
1702
1744
  */
1703
1745
  export declare class SharedStringFactory implements IChannelFactory {
1704
1746
  static Type: string;
@@ -1715,13 +1757,12 @@ export declare class SharedStringFactory implements IChannelFactory {
1715
1757
 
1716
1758
  /**
1717
1759
  * Data for undoing edits on SharedStrings and Intervals.
1718
- *
1719
- * @alpha
1760
+ * @internal
1720
1761
  */
1721
1762
  export declare type SharedStringRevertible = MergeTreeDeltaRevertible | IntervalRevertible;
1722
1763
 
1723
1764
  /**
1724
- * @public
1765
+ * @alpha
1725
1766
  */
1726
1767
  export declare type SharedStringSegment = TextSegment | Marker;
1727
1768
 
@@ -1729,7 +1770,7 @@ export declare type SharedStringSegment = TextSegment | Marker;
1729
1770
  * Defines a side relative to a character in a sequence.
1730
1771
  *
1731
1772
  * @remarks See {@link SequencePlace} for additional context on usage.
1732
- * @public
1773
+ * @alpha
1733
1774
  */
1734
1775
  export declare enum Side {
1735
1776
  Before = 0,
@@ -1738,13 +1779,13 @@ export declare enum Side {
1738
1779
 
1739
1780
  /**
1740
1781
  * @deprecated SubSequence will be removed in a upcoming release. It has been moved to the fluid-experimental/sequence-deprecated package
1741
- * @public
1782
+ * @internal
1742
1783
  */
1743
1784
  export declare class SubSequence<T> extends BaseSegment {
1744
1785
  items: Serializable<T>[];
1745
1786
  static readonly typeString: string;
1746
1787
  static is(segment: ISegment): segment is SubSequence<any>;
1747
- static fromJSONObject<U>(spec: Serializable): SubSequence<U> | undefined;
1788
+ static fromJSONObject<U>(spec: any): SubSequence<U> | undefined;
1748
1789
  readonly type: string;
1749
1790
  constructor(items: Serializable<T>[]);
1750
1791
  toJSONObject(): IJSONRunSegment<T>;
@@ -1756,4 +1797,8 @@ export declare class SubSequence<T> extends BaseSegment {
1756
1797
  protected createSplitSegmentAt(pos: number): SubSequence<T> | undefined;
1757
1798
  }
1758
1799
 
1800
+ export { TextSegment }
1801
+
1802
+ export { TrackingGroup }
1803
+
1759
1804
  export { }