@fluidframework/sequence 2.0.0-internal.7.3.0 → 2.0.0-internal.7.4.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 (203) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/api-extractor-lint.json +13 -0
  3. package/api-extractor.json +8 -3
  4. package/api-report/sequence.api.md +87 -84
  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 +11 -10
  10. package/dist/defaultMapInterfaces.d.ts.map +1 -1
  11. package/dist/defaultMapInterfaces.js.map +1 -1
  12. package/dist/intervalCollection.d.ts +66 -12
  13. package/dist/intervalCollection.d.ts.map +1 -1
  14. package/dist/intervalCollection.js +50 -45
  15. package/dist/intervalCollection.js.map +1 -1
  16. package/dist/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  17. package/dist/intervalIndex/endpointInRangeIndex.js +1 -1
  18. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  19. package/dist/intervalIndex/endpointIndex.d.ts +2 -2
  20. package/dist/intervalIndex/endpointIndex.js +1 -1
  21. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  22. package/dist/intervalIndex/idIntervalIndex.d.ts +2 -2
  23. package/dist/intervalIndex/idIntervalIndex.js +1 -1
  24. package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
  25. package/dist/intervalIndex/intervalIndex.d.ts +1 -1
  26. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  27. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  28. package/dist/intervalIndex/overlappingIntervalsIndex.js +1 -1
  29. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  30. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  31. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  32. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  33. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  34. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  35. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  36. package/dist/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  37. package/dist/intervalIndex/startpointInRangeIndex.js +1 -1
  38. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  39. package/dist/intervals/interval.d.ts +2 -7
  40. package/dist/intervals/interval.d.ts.map +1 -1
  41. package/dist/intervals/interval.js +1 -5
  42. package/dist/intervals/interval.js.map +1 -1
  43. package/dist/intervals/intervalUtils.d.ts +15 -14
  44. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  45. package/dist/intervals/intervalUtils.js +3 -3
  46. package/dist/intervals/intervalUtils.js.map +1 -1
  47. package/dist/intervals/sequenceInterval.d.ts +3 -12
  48. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  49. package/dist/intervals/sequenceInterval.js +3 -11
  50. package/dist/intervals/sequenceInterval.js.map +1 -1
  51. package/dist/localValues.d.ts +2 -1
  52. package/dist/localValues.d.ts.map +1 -1
  53. package/dist/localValues.js.map +1 -1
  54. package/dist/packageVersion.d.ts +1 -1
  55. package/dist/packageVersion.js +1 -1
  56. package/dist/packageVersion.js.map +1 -1
  57. package/dist/revertibles.d.ts +9 -15
  58. package/dist/revertibles.d.ts.map +1 -1
  59. package/dist/revertibles.js +7 -9
  60. package/dist/revertibles.js.map +1 -1
  61. package/dist/sequence-alpha.d.ts +226 -507
  62. package/dist/sequence-beta.d.ts +131 -1368
  63. package/dist/sequence-public.d.ts +131 -1368
  64. package/dist/sequence-untrimmed.d.ts +121 -90
  65. package/dist/sequence.d.ts +2 -3
  66. package/dist/sequence.d.ts.map +1 -1
  67. package/dist/sequence.js +1 -1
  68. package/dist/sequence.js.map +1 -1
  69. package/dist/sequenceDeltaEvent.d.ts +4 -4
  70. package/dist/sequenceDeltaEvent.js +3 -3
  71. package/dist/sequenceDeltaEvent.js.map +1 -1
  72. package/dist/sequenceFactory.d.ts +1 -1
  73. package/dist/sequenceFactory.js +1 -1
  74. package/dist/sequenceFactory.js.map +1 -1
  75. package/dist/sharedIntervalCollection.d.ts +3 -3
  76. package/dist/sharedIntervalCollection.js +2 -2
  77. package/dist/sharedIntervalCollection.js.map +1 -1
  78. package/dist/sharedSequence.d.ts +3 -3
  79. package/dist/sharedSequence.js +2 -2
  80. package/dist/sharedSequence.js.map +1 -1
  81. package/dist/sharedString.d.ts +8 -5
  82. package/dist/sharedString.d.ts.map +1 -1
  83. package/dist/sharedString.js +6 -3
  84. package/dist/sharedString.js.map +1 -1
  85. package/lib/defaultMap.d.ts +3 -3
  86. package/lib/defaultMap.d.ts.map +1 -1
  87. package/lib/defaultMap.js +29 -20
  88. package/lib/defaultMap.js.map +1 -1
  89. package/lib/defaultMapInterfaces.d.ts +11 -10
  90. package/lib/defaultMapInterfaces.d.ts.map +1 -1
  91. package/lib/defaultMapInterfaces.js +2 -1
  92. package/lib/defaultMapInterfaces.js.map +1 -1
  93. package/lib/index.js +45 -10
  94. package/lib/index.js.map +1 -1
  95. package/lib/intervalCollection.d.ts +66 -12
  96. package/lib/intervalCollection.d.ts.map +1 -1
  97. package/lib/intervalCollection.js +174 -156
  98. package/lib/intervalCollection.js.map +1 -1
  99. package/lib/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  100. package/lib/intervalIndex/endpointInRangeIndex.js +18 -13
  101. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  102. package/lib/intervalIndex/endpointIndex.d.ts +2 -2
  103. package/lib/intervalIndex/endpointIndex.js +14 -9
  104. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  105. package/lib/intervalIndex/idIntervalIndex.d.ts +2 -2
  106. package/lib/intervalIndex/idIntervalIndex.js +9 -5
  107. package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
  108. package/lib/intervalIndex/index.js +19 -6
  109. package/lib/intervalIndex/index.js.map +1 -1
  110. package/lib/intervalIndex/intervalIndex.d.ts +1 -1
  111. package/lib/intervalIndex/intervalIndex.js +2 -1
  112. package/lib/intervalIndex/intervalIndex.js.map +1 -1
  113. package/lib/intervalIndex/intervalIndexUtils.js +8 -4
  114. package/lib/intervalIndex/intervalIndexUtils.js.map +1 -1
  115. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  116. package/lib/intervalIndex/overlappingIntervalsIndex.js +16 -11
  117. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  118. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  119. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +15 -11
  120. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  121. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  122. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  123. package/lib/intervalIndex/sequenceIntervalIndexes.js +2 -1
  124. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  125. package/lib/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  126. package/lib/intervalIndex/startpointInRangeIndex.js +18 -13
  127. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  128. package/lib/intervalTree.js +9 -4
  129. package/lib/intervalTree.js.map +1 -1
  130. package/lib/intervals/index.js +18 -3
  131. package/lib/intervals/index.js.map +1 -1
  132. package/lib/intervals/interval.d.ts +2 -7
  133. package/lib/intervals/interval.d.ts.map +1 -1
  134. package/lib/intervals/interval.js +19 -18
  135. package/lib/intervals/interval.js.map +1 -1
  136. package/lib/intervals/intervalUtils.d.ts +15 -14
  137. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  138. package/lib/intervals/intervalUtils.js +21 -16
  139. package/lib/intervals/intervalUtils.js.map +1 -1
  140. package/lib/intervals/sequenceInterval.d.ts +3 -12
  141. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  142. package/lib/intervals/sequenceInterval.js +68 -70
  143. package/lib/intervals/sequenceInterval.js.map +1 -1
  144. package/lib/localValues.d.ts +2 -1
  145. package/lib/localValues.d.ts.map +1 -1
  146. package/lib/localValues.js +9 -4
  147. package/lib/localValues.js.map +1 -1
  148. package/lib/packageVersion.d.ts +1 -1
  149. package/lib/packageVersion.js +5 -2
  150. package/lib/packageVersion.js.map +1 -1
  151. package/lib/revertibles.d.ts +9 -15
  152. package/lib/revertibles.d.ts.map +1 -1
  153. package/lib/revertibles.js +76 -68
  154. package/lib/revertibles.js.map +1 -1
  155. package/lib/sequence-alpha.d.ts +226 -507
  156. package/lib/sequence-beta.d.ts +131 -1368
  157. package/lib/sequence-public.d.ts +131 -1368
  158. package/lib/sequence-untrimmed.d.ts +121 -90
  159. package/lib/sequence.d.ts +2 -3
  160. package/lib/sequence.d.ts.map +1 -1
  161. package/lib/sequence.js +45 -40
  162. package/lib/sequence.js.map +1 -1
  163. package/lib/sequenceDeltaEvent.d.ts +4 -4
  164. package/lib/sequenceDeltaEvent.js +16 -10
  165. package/lib/sequenceDeltaEvent.js.map +1 -1
  166. package/lib/sequenceFactory.d.ts +1 -1
  167. package/lib/sequenceFactory.js +14 -10
  168. package/lib/sequenceFactory.js.map +1 -1
  169. package/lib/sharedIntervalCollection.d.ts +3 -3
  170. package/lib/sharedIntervalCollection.js +20 -15
  171. package/lib/sharedIntervalCollection.js.map +1 -1
  172. package/lib/sharedSequence.d.ts +3 -3
  173. package/lib/sharedSequence.js +13 -8
  174. package/lib/sharedSequence.js.map +1 -1
  175. package/lib/sharedString.d.ts +8 -5
  176. package/lib/sharedString.d.ts.map +1 -1
  177. package/lib/sharedString.js +27 -19
  178. package/lib/sharedString.js.map +1 -1
  179. package/package.json +22 -20
  180. package/sequence.test-files.tar +0 -0
  181. package/src/defaultMap.ts +22 -16
  182. package/src/defaultMapInterfaces.ts +15 -12
  183. package/src/intervalCollection.ts +131 -67
  184. package/src/intervalIndex/endpointInRangeIndex.ts +2 -2
  185. package/src/intervalIndex/endpointIndex.ts +2 -2
  186. package/src/intervalIndex/idIntervalIndex.ts +2 -2
  187. package/src/intervalIndex/intervalIndex.ts +1 -1
  188. package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -2
  189. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +1 -1
  190. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -1
  191. package/src/intervalIndex/startpointInRangeIndex.ts +2 -2
  192. package/src/intervals/interval.ts +2 -7
  193. package/src/intervals/intervalUtils.ts +15 -15
  194. package/src/intervals/sequenceInterval.ts +3 -12
  195. package/src/localValues.ts +2 -1
  196. package/src/packageVersion.ts +1 -1
  197. package/src/revertibles.ts +9 -15
  198. package/src/sequence.ts +2 -3
  199. package/src/sequenceDeltaEvent.ts +4 -4
  200. package/src/sequenceFactory.ts +1 -1
  201. package/src/sharedIntervalCollection.ts +3 -3
  202. package/src/sharedSequence.ts +3 -3
  203. package/src/sharedString.ts +8 -5
@@ -59,74 +59,73 @@ import { TypedEventEmitter } from '@fluid-internal/client-utils';
59
59
 
60
60
  /**
61
61
  * Create revertibles for adding an interval
62
- * @alpha
62
+ * @internal
63
63
  */
64
64
  export declare function appendAddIntervalToRevertibles(interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
65
65
 
66
66
  /**
67
67
  * Create revertibles for moving endpoints of an interval
68
- * @alpha
68
+ * @internal
69
69
  */
70
70
  export declare function appendChangeIntervalToRevertibles(string: SharedString, newInterval: SequenceInterval, previousInterval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
71
71
 
72
72
  /**
73
73
  * Create revertibles for deleting an interval
74
- * @alpha
74
+ * @internal
75
75
  */
76
76
  export declare function appendDeleteIntervalToRevertibles(string: SharedString, interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
77
77
 
78
78
  /**
79
79
  * Create revertibles for changing properties of an interval
80
- * @alpha
80
+ * @internal
81
81
  */
82
82
  export declare function appendIntervalPropertyChangedToRevertibles(interval: SequenceInterval, deltas: PropertySet, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
83
83
 
84
84
  /**
85
85
  * Create revertibles for SharedStringDeltas, handling indirectly modified intervals
86
86
  * (e.g. reverting remove of a range that contains an interval will move the interval back)
87
- *
88
- * @alpha
87
+ * @internal
89
88
  */
90
89
  export declare function appendSharedStringDeltaToRevertibles(string: SharedString, delta: SequenceDeltaEvent, revertibles: SharedStringRevertible[]): void;
91
90
 
92
91
  /**
93
- * @public
92
+ * @internal
94
93
  */
95
94
  export declare function createEndpointIndex(sharedString: SharedString): IEndpointIndex<SequenceInterval>;
96
95
 
97
96
  /**
98
- * @public
97
+ * @internal
99
98
  */
100
99
  export declare function createEndpointInRangeIndex(sharedString: SharedString): IEndpointInRangeIndex<SequenceInterval>;
101
100
 
102
101
  /**
103
- * @public
102
+ * @internal
104
103
  */
105
104
  export declare function createIdIntervalIndex<TInterval extends ISerializableInterval>(): IIdIntervalIndex<TInterval>;
106
105
 
107
106
  /**
108
- * @public
107
+ * @internal
109
108
  */
110
109
  export declare function createOverlappingIntervalsIndex(sharedString: SharedString): IOverlappingIntervalsIndex<SequenceInterval>;
111
110
 
112
111
  /**
113
- * @public
112
+ * @internal
114
113
  */
115
114
  export declare function createOverlappingSequenceIntervalsIndex(sharedString: SharedString): SequenceIntervalIndexes.Overlapping;
116
115
 
117
116
  /**
118
- * @public
117
+ * @internal
119
118
  */
120
119
  export declare function createStartpointInRangeIndex(sharedString: SharedString): IStartpointInRangeIndex<SequenceInterval>;
121
120
 
122
121
  /**
123
- * @public
122
+ * @alpha
124
123
  */
125
124
  export declare type DeserializeCallback = (properties: PropertySet) => void;
126
125
 
127
126
  /**
128
127
  * Clean up resources held by revertibles that are no longer needed.
129
- * @alpha
128
+ * @internal
130
129
  */
131
130
  export declare function discardSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
132
131
 
@@ -143,7 +142,7 @@ export declare function discardSharedStringRevertibles(sharedString: SharedStrin
143
142
  * // parallelMarkers === [<paragraph marker 1 object>, <paragraph marker 2 object>]
144
143
  * // Note parallelText does not include "missing".
145
144
  * ```
146
- * @public
145
+ * @internal
147
146
  */
148
147
  export declare function getTextAndMarkers(sharedString: SharedString, label: string, start?: number, end?: number): {
149
148
  parallelText: string[];
@@ -151,7 +150,7 @@ export declare function getTextAndMarkers(sharedString: SharedString, label: str
151
150
  };
152
151
 
153
152
  /**
154
- * @public
153
+ * @internal
155
154
  */
156
155
  export declare interface IEndpointIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
157
156
  /**
@@ -170,7 +169,7 @@ export declare interface IEndpointIndex<TInterval extends ISerializableInterval>
170
169
  * Collection of intervals.
171
170
  *
172
171
  * Provide additional APIs to support efficiently querying a collection of intervals whose endpoints fall within a specified range.
173
- * @public
172
+ * @internal
174
173
  */
175
174
  export declare interface IEndpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
176
175
  /**
@@ -180,7 +179,7 @@ export declare interface IEndpointInRangeIndex<TInterval extends ISerializableIn
180
179
  }
181
180
 
182
181
  /**
183
- * @public
182
+ * @internal
184
183
  */
185
184
  export declare interface IIdIntervalIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval>, Iterable<TInterval> {
186
185
  getIntervalById(id: string): TInterval | undefined;
@@ -189,7 +188,7 @@ export declare interface IIdIntervalIndex<TInterval extends ISerializableInterva
189
188
 
190
189
  /**
191
190
  * Basic interval abstraction
192
- * @public
191
+ * @alpha
193
192
  */
194
193
  export declare interface IInterval {
195
194
  /**
@@ -218,7 +217,6 @@ export declare interface IInterval {
218
217
  compareEnd(b: IInterval): number;
219
218
  /**
220
219
  * Modifies one or more of the endpoints of this interval, returning a new interval representing the result.
221
- * @internal
222
220
  */
223
221
  modify(label: string, start: SequencePlace | undefined, end: SequencePlace | undefined, op?: ISequencedDocumentMessage, localSeq?: number, useNewSlidingBehavior?: boolean): IInterval | undefined;
224
222
  /**
@@ -230,7 +228,6 @@ export declare interface IInterval {
230
228
  * Unions this interval with `b`, returning a new interval.
231
229
  * The union operates as a convex hull, i.e. if the two intervals are disjoint, the return value includes
232
230
  * intermediate values between the two intervals.
233
- * @internal
234
231
  */
235
232
  union(b: IInterval): IInterval;
236
233
  }
@@ -238,7 +235,7 @@ export declare interface IInterval {
238
235
  /**
239
236
  * Collection of intervals that supports addition, modification, removal, and efficient spatial querying.
240
237
  * Changes to this collection will be incur updates on collaborating clients (i.e. they are not local-only).
241
- * @public
238
+ * @alpha
242
239
  */
243
240
  export declare interface IIntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
244
241
  readonly attached: boolean;
@@ -360,6 +357,7 @@ export declare interface IIntervalCollection<TInterval extends ISerializableInte
360
357
  removeIntervalById(id: string): TInterval | undefined;
361
358
  /**
362
359
  * Changes the properties on an existing interval.
360
+ * @deprecated - call change with the id and and object containing the new properties
363
361
  * @param id - Id of the interval whose properties should be changed
364
362
  * @param props - Property set to apply to the interval. Shallow merging is used between any existing properties
365
363
  * and `prop`, i.e. the interval will end up with a property object equivalent to `{ ...oldProps, ...props }`.
@@ -367,12 +365,26 @@ export declare interface IIntervalCollection<TInterval extends ISerializableInte
367
365
  changeProperties(id: string, props: PropertySet): any;
368
366
  /**
369
367
  * Changes the endpoints of an existing interval.
368
+ * @deprecated - call change with the start and end parameters encapsulated in an object
370
369
  * @param id - Id of the interval to change
371
370
  * @param start - New start value. To leave the endpoint unchanged, pass the current value.
372
371
  * @param end - New end value. To leave the endpoint unchanged, pass the current value.
373
372
  * @returns the interval that was changed, if it existed in the collection.
374
373
  */
375
374
  change(id: string, start: SequencePlace, end: SequencePlace): TInterval | undefined;
375
+ /**
376
+ * Changes the endpoints, properties, or both of an existing interval.
377
+ * @param id - Id of the Interval to change
378
+ * @returns the interval that was changed, if it existed in the collection.
379
+ * Pass the desired new start position, end position, and/or properties in an object. Start and end positions must be changed
380
+ * simultaneously - they must either both be specified or both undefined. To only change the properties, leave both endpoints
381
+ * undefined. To only change the endpoints, leave the properties undefined.
382
+ */
383
+ change(id: string, { start, end, props }: {
384
+ start?: SequencePlace;
385
+ end?: SequencePlace;
386
+ props?: PropertySet;
387
+ }): TInterval | undefined;
376
388
  attachDeserializer(onDeserialize: DeserializeCallback): void;
377
389
  /**
378
390
  * @returns an iterator over all intervals in this collection.
@@ -404,6 +416,14 @@ export declare interface IIntervalCollection<TInterval extends ISerializableInte
404
416
  */
405
417
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
406
418
  /**
419
+ * @deprecated - Users must manually attach the corresponding interval index to utilize this functionality, for instance:
420
+ *
421
+ * ```typescript
422
+ * const overlappingIntervalsIndex = createOverlappingIntervalsIndex(sharedString);
423
+ * collection.attachIndex(overlappingIntervalsIndex)
424
+ * const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
425
+ * ```
426
+ *
407
427
  * @returns an array of all intervals in this collection that overlap with the interval
408
428
  * `[startPosition, endPosition]`.
409
429
  */
@@ -412,13 +432,34 @@ export declare interface IIntervalCollection<TInterval extends ISerializableInte
412
432
  * Applies a function to each interval in this collection.
413
433
  */
414
434
  map(fn: (interval: TInterval) => void): void;
435
+ /**
436
+ * @deprecated - due to the forthcoming change where the endpointIndex will no longer be
437
+ * automatically added to the collection. Users are advised to independently attach the
438
+ * index to the collection and utilize the API accordingly, for instance:
439
+ * ```typescript
440
+ * const endpointIndex = createEndpointIndex(sharedString);
441
+ * collection.attachIndex(endpointIndex);
442
+ * const result1 = endpointIndex.previousInterval(pos);
443
+ * ```
444
+ * If an index is used repeatedly, applications should generally attach it once and store it in memory.
445
+ */
415
446
  previousInterval(pos: number): TInterval | undefined;
447
+ /**
448
+ * @deprecated - due to the forthcoming change where the endpointIndex will no longer be
449
+ * automatically added to the collection. Users are advised to independently attach the
450
+ * index to the collection and utilize the API accordingly, for instance:
451
+ * ```typescript
452
+ * const endpointIndex = createEndpointIndex(sharedString);
453
+ * collection.attachIndex(endpointIndex);
454
+ * const result2 = endpointIndex.nextInterval(pos);
455
+ * ```
456
+ */
416
457
  nextInterval(pos: number): TInterval | undefined;
417
458
  }
418
459
 
419
460
  /**
420
461
  * Change events emitted by `IntervalCollection`s
421
- * @public
462
+ * @alpha
422
463
  */
423
464
  export declare interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
424
465
  /**
@@ -456,7 +497,7 @@ export declare interface IIntervalCollectionEvent<TInterval extends ISerializabl
456
497
  /**
457
498
  * @sealed
458
499
  * @deprecated The methods within have substitutions
459
- * @public
500
+ * @internal
460
501
  */
461
502
  export declare interface IIntervalHelpers<TInterval extends ISerializableInterval> {
462
503
  /**
@@ -479,7 +520,7 @@ export declare interface IIntervalHelpers<TInterval extends ISerializableInterva
479
520
 
480
521
  /**
481
522
  * @deprecated IJSONRunSegment will be removed in a upcoming release. It has been moved to the fluid-experimental/sequence-deprecated package
482
- * @public
523
+ * @internal
483
524
  */
484
525
  export declare interface IJSONRunSegment<T> extends IJSONSegment {
485
526
  items: Serializable<T>[];
@@ -496,7 +537,7 @@ export declare interface IMapMessageLocalMetadata {
496
537
  * A sequence place that does not refer to the special endpoint segments.
497
538
  *
498
539
  * See {@link SequencePlace} for additional context.
499
- * @public
540
+ * @alpha
500
541
  */
501
542
  export declare interface InteriorSequencePlace {
502
543
  pos: number;
@@ -505,7 +546,7 @@ export declare interface InteriorSequencePlace {
505
546
 
506
547
  /**
507
548
  * Serializable interval whose endpoints are plain-old numbers.
508
- * @public
549
+ * @internal
509
550
  */
510
551
  export declare class Interval implements ISerializableInterval {
511
552
  start: number;
@@ -514,11 +555,10 @@ export declare class Interval implements ISerializableInterval {
514
555
  * {@inheritDoc ISerializableInterval.properties}
515
556
  */
516
557
  properties: PropertySet;
517
- /** @internal */
558
+ /***/
518
559
  auxProps: PropertySet[] | undefined;
519
560
  /**
520
561
  * {@inheritDoc ISerializableInterval.propertyManager}
521
- * @internal
522
562
  */
523
563
  propertyManager: PropertiesManager;
524
564
  constructor(start: number, end: number, props?: PropertySet);
@@ -541,7 +581,6 @@ export declare class Interval implements ISerializableInterval {
541
581
  addPropertySet(props: PropertySet): void;
542
582
  /**
543
583
  * {@inheritDoc ISerializableInterval.serialize}
544
- * @internal
545
584
  */
546
585
  serialize(): ISerializedInterval;
547
586
  /**
@@ -566,18 +605,15 @@ export declare class Interval implements ISerializableInterval {
566
605
  overlaps(b: Interval): boolean;
567
606
  /**
568
607
  * {@inheritDoc IInterval.union}
569
- * @internal
570
608
  */
571
609
  union(b: Interval): Interval;
572
610
  getProperties(): PropertySet;
573
611
  /**
574
612
  * {@inheritDoc ISerializableInterval.addProperties}
575
- * @internal
576
613
  */
577
614
  addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
578
615
  /**
579
616
  * {@inheritDoc IInterval.modify}
580
- * @internal
581
617
  */
582
618
  modify(label: string, start?: SequencePlace, end?: SequencePlace, op?: ISequencedDocumentMessage): Interval | undefined;
583
619
  private initializeProperties;
@@ -591,7 +627,7 @@ export declare class Interval implements ISerializableInterval {
591
627
  * - "find all intervals with start endpoint between these two points"
592
628
  * - "find all intervals which overlap this range"
593
629
  * etc.
594
- * @public
630
+ * @alpha
595
631
  */
596
632
  export declare interface IntervalIndex<TInterval extends ISerializableInterval> {
597
633
  /**
@@ -610,7 +646,7 @@ export declare interface IntervalIndex<TInterval extends ISerializableInterval>
610
646
 
611
647
  /**
612
648
  * Information that identifies an interval within a `Sequence`.
613
- * @public
649
+ * @internal
614
650
  */
615
651
  export declare interface IntervalLocator {
616
652
  /**
@@ -628,13 +664,13 @@ export declare interface IntervalLocator {
628
664
  * @returns undefined if the reference position is not the endpoint of any interval (e.g. it was created
629
665
  * on the merge tree directly by app code), otherwise an {@link IntervalLocator} for the interval this
630
666
  * endpoint is a part of.
631
- * @public
667
+ * @internal
632
668
  */
633
669
  export declare function intervalLocatorFromEndpoint(potentialEndpoint: LocalReferencePosition): IntervalLocator | undefined;
634
670
 
635
671
  /**
636
672
  * Values are used in persisted formats (ops) and revertibles.
637
- * @alpha
673
+ * @internal
638
674
  */
639
675
  export declare const IntervalOpType: {
640
676
  readonly ADD: "add";
@@ -644,10 +680,14 @@ export declare const IntervalOpType: {
644
680
  readonly POSITION_REMOVE: "positionRemove";
645
681
  };
646
682
 
683
+ /**
684
+ * @internal
685
+ */
686
+ export declare type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
687
+
647
688
  /**
648
689
  * Data for undoing edits affecting Intervals.
649
- *
650
- * @alpha
690
+ * @internal
651
691
  */
652
692
  export declare type IntervalRevertible = {
653
693
  event: typeof IntervalOpType.CHANGE;
@@ -689,7 +729,7 @@ export declare type IntervalRevertible = {
689
729
  * Note that interval stickiness is currently an experimental feature and must
690
730
  * be explicitly enabled with the `intervalStickinessEnabled` flag
691
731
  *
692
- * @internal
732
+ * @alpha
693
733
  */
694
734
  export declare const IntervalStickiness: {
695
735
  /**
@@ -718,13 +758,12 @@ export declare const IntervalStickiness: {
718
758
  *
719
759
  * Note that interval stickiness is currently an experimental feature and must
720
760
  * be explicitly enabled with the `intervalStickinessEnabled` flag
721
- *
722
- * @internal
761
+ * @alpha
723
762
  */
724
763
  export declare type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof IntervalStickiness];
725
764
 
726
765
  /**
727
- * @public
766
+ * @alpha
728
767
  */
729
768
  export declare enum IntervalType {
730
769
  Simple = 0,
@@ -747,7 +786,7 @@ export declare enum IntervalType {
747
786
  }
748
787
 
749
788
  /**
750
- * @public
789
+ * @internal
751
790
  */
752
791
  export declare interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
753
792
  /**
@@ -763,7 +802,7 @@ export declare interface IOverlappingIntervalsIndex<TInterval extends ISerializa
763
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,7 +927,7 @@ 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
933
  (event: "createIntervalCollection", listener: (label: string, local: boolean, target: IEventThisPlaceHolder) => void): any;
@@ -898,7 +937,7 @@ export declare interface ISharedSegmentSequenceEvents extends ISharedObjectEvent
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
  /**
@@ -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,22 @@ 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
 
953
992
  /**
954
993
  * Invoke revertibles to reverse prior edits
955
- *
956
- * @alpha
994
+ * @internal
957
995
  */
958
996
  export declare function revertSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
959
997
 
@@ -967,7 +1005,7 @@ export declare function revertSharedStringRevertibles(sharedString: SharedString
967
1005
  * For group ops, each op will get its own event, and the group op property will be set on the op args.
968
1006
  *
969
1007
  * Ops may get multiple events. For instance, an insert-replace will get a remove then an insert event.
970
- * @public
1008
+ * @alpha
971
1009
  */
972
1010
  export declare class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationType> {
973
1011
  readonly opArgs: IMergeTreeDeltaOpArgs;
@@ -984,7 +1022,7 @@ export declare class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOper
984
1022
  * The properties of this object and its sub-objects represent the state of the sequence at the
985
1023
  * point in time at which the operation was applied.
986
1024
  * They will not take into any future modifications performed to the underlying sequence and merge tree.
987
- * @public
1025
+ * @alpha
988
1026
  */
989
1027
  export declare abstract class SequenceEvent<TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes> {
990
1028
  readonly deltaArgs: IMergeTreeDeltaCallbackArgs<TOperation>;
@@ -1039,7 +1077,7 @@ export declare abstract class SequenceEvent<TOperation extends MergeTreeDeltaOpe
1039
1077
  * `mergeTreeReferencesCanSlideToEndpoint` feature flag set to true, the endpoints
1040
1078
  * of the interval that are exclusive will have the ability to slide to these
1041
1079
  * special endpoint segments.
1042
- * @public
1080
+ * @alpha
1043
1081
  */
1044
1082
  export declare class SequenceInterval implements ISerializableInterval {
1045
1083
  private readonly client;
@@ -1062,12 +1100,9 @@ export declare class SequenceInterval implements ISerializableInterval {
1062
1100
  properties: PropertySet;
1063
1101
  /**
1064
1102
  * {@inheritDoc ISerializableInterval.propertyManager}
1065
- * @internal
1066
1103
  */
1067
1104
  propertyManager: PropertiesManager;
1068
- /**
1069
- * @internal
1070
- */
1105
+ /***/
1071
1106
  get stickiness(): IntervalStickiness;
1072
1107
  constructor(client: Client,
1073
1108
  /**
@@ -1083,17 +1118,14 @@ export declare class SequenceInterval implements ISerializableInterval {
1083
1118
  private callbacks?;
1084
1119
  /**
1085
1120
  * Subscribes to position change events on this interval if there are no current listeners.
1086
- * @internal
1087
1121
  */
1088
1122
  addPositionChangeListeners(beforePositionChange: () => void, afterPositionChange: () => void): void;
1089
1123
  /**
1090
1124
  * Removes the currently subscribed position change listeners.
1091
- * @internal
1092
1125
  */
1093
1126
  removePositionChangeListeners(): void;
1094
1127
  /**
1095
1128
  * {@inheritDoc ISerializableInterval.serialize}
1096
- * @internal
1097
1129
  */
1098
1130
  serialize(): ISerializedInterval;
1099
1131
  /**
@@ -1122,12 +1154,10 @@ export declare class SequenceInterval implements ISerializableInterval {
1122
1154
  getIntervalId(): string;
1123
1155
  /**
1124
1156
  * {@inheritDoc IInterval.union}
1125
- * @internal
1126
1157
  */
1127
1158
  union(b: SequenceInterval): SequenceInterval;
1128
1159
  /**
1129
1160
  * {@inheritDoc ISerializableInterval.addProperties}
1130
- * @internal
1131
1161
  */
1132
1162
  addProperties(newProps: PropertySet, collab?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
1133
1163
  /**
@@ -1136,7 +1166,6 @@ export declare class SequenceInterval implements ISerializableInterval {
1136
1166
  overlapsPos(bstart: number, bend: number): boolean;
1137
1167
  /**
1138
1168
  * {@inheritDoc IInterval.modify}
1139
- * @internal
1140
1169
  */
1141
1170
  modify(label: string, start: SequencePlace | undefined, end: SequencePlace | undefined, op?: ISequencedDocumentMessage, localSeq?: number, useNewSlidingBehavior?: boolean): SequenceInterval;
1142
1171
  private initializeProperties;
@@ -1144,20 +1173,21 @@ export declare class SequenceInterval implements ISerializableInterval {
1144
1173
 
1145
1174
  /**
1146
1175
  * @deprecated The methods within have substitutions
1147
- * @public
1176
+ * @internal
1148
1177
  */
1149
1178
  export declare const sequenceIntervalHelpers: IIntervalHelpers<SequenceInterval>;
1150
1179
 
1151
1180
  /**
1152
1181
  * This namespace contains specialiazations of indexes which support spatial queries
1153
1182
  * specifically for `SequenceInterval`s.
1154
- * @public
1183
+ * @internal
1155
1184
  */
1156
1185
  export declare namespace SequenceIntervalIndexes {
1157
1186
  /**
1158
1187
  * Collection of intervals.
1159
1188
  *
1160
1189
  * Provides additional APIs to support efficiently querying a collection of intervals based on segments and offset.
1190
+ * @internal
1161
1191
  */
1162
1192
  export interface Overlapping extends IOverlappingIntervalsIndex<SequenceInterval> {
1163
1193
  /**
@@ -1181,7 +1211,7 @@ export declare namespace SequenceIntervalIndexes {
1181
1211
  * The properties of this object and its sub-objects represent the state of the sequence at the
1182
1212
  * point in time at which the operation was applied.
1183
1213
  * They will not take into consideration any future modifications performed to the underlying sequence and merge tree.
1184
- * @public
1214
+ * @alpha
1185
1215
  */
1186
1216
  export declare class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {
1187
1217
  readonly opArgs: IMergeTreeDeltaOpArgs | undefined;
@@ -1190,7 +1220,7 @@ export declare class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMai
1190
1220
 
1191
1221
  /**
1192
1222
  * Optional flags that configure options for sequence DDSs
1193
- * @public
1223
+ * @internal
1194
1224
  */
1195
1225
  export declare interface SequenceOptions {
1196
1226
  /**
@@ -1243,7 +1273,7 @@ export declare interface SequenceOptions {
1243
1273
  * If a SequencePlace is the endpoint of a range (e.g. start/end of an interval or search range),
1244
1274
  * the Side value means it is exclusive if it is nearer to the other position and inclusive if it is farther.
1245
1275
  * E.g. the start of a range with Side.After is exclusive of the character at the position.
1246
- * @public
1276
+ * @alpha
1247
1277
  */
1248
1278
  export declare type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
1249
1279
 
@@ -1256,7 +1286,7 @@ export declare type SerializedIntervalDelta = Omit<ISerializedInterval, "start"
1256
1286
 
1257
1287
  /**
1258
1288
  * @deprecated `SharedIntervalCollection` is not maintained and is planned to be removed.
1259
- * @public
1289
+ * @internal
1260
1290
  */
1261
1291
  export declare class SharedIntervalCollection extends SharedObject implements ISharedIntervalCollection<Interval> {
1262
1292
  /**
@@ -1300,7 +1330,7 @@ export declare class SharedIntervalCollection extends SharedObject implements IS
1300
1330
  /**
1301
1331
  * The factory that defines the SharedIntervalCollection.
1302
1332
  * @deprecated `SharedIntervalCollection` is not maintained and is planned to be removed.
1303
- * @public
1333
+ * @internal
1304
1334
  */
1305
1335
  export declare class SharedIntervalCollectionFactory implements IChannelFactory {
1306
1336
  static readonly Type = "https://graph.microsoft.com/types/sharedIntervalCollection";
@@ -1315,7 +1345,7 @@ export declare class SharedIntervalCollectionFactory implements IChannelFactory
1315
1345
  }
1316
1346
 
1317
1347
  /**
1318
- * @public
1348
+ * @alpha
1319
1349
  */
1320
1350
  export declare abstract class SharedSegmentSequence<T extends ISegment> extends SharedObject<ISharedSegmentSequenceEvents> implements ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
1321
1351
  private readonly dataStoreRuntime;
@@ -1333,7 +1363,6 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
1333
1363
  *
1334
1364
  * An application using SharedString which explicitly wants to opt in to allowing reentrancy anyway can set `sharedStringPreventReentrancy`
1335
1365
  * on the data store options to `false`.
1336
- * @internal
1337
1366
  */
1338
1367
  protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
1339
1368
  private static createOpsFromDelta;
@@ -1544,7 +1573,7 @@ export declare abstract class SharedSegmentSequence<T extends ISegment> extends
1544
1573
 
1545
1574
  /**
1546
1575
  * @deprecated SharedSequence will be removed in a upcoming release. It has been moved to the fluid-experimental/sequence-deprecated package
1547
- * @public
1576
+ * @internal
1548
1577
  */
1549
1578
  export declare class SharedSequence<T> extends SharedSegmentSequence<SubSequence<T>> {
1550
1579
  id: string;
@@ -1581,8 +1610,7 @@ export declare class SharedSequence<T> extends SharedSegmentSequence<SubSequence
1581
1610
  * In addition to text, a Shared String can also contain markers. Markers can be
1582
1611
  * used to store metadata at positions within the text, like the details of an
1583
1612
  * image or Fluid object that should be rendered with the text.
1584
- *
1585
- * @public
1613
+ * @alpha
1586
1614
  */
1587
1615
  export declare class SharedString extends SharedSegmentSequence<SharedStringSegment> implements ISharedString {
1588
1616
  id: string;
@@ -1643,6 +1671,10 @@ export declare class SharedString extends SharedSegmentSequence<SharedStringSegm
1643
1671
  * @param marker - The marker to annotate
1644
1672
  * @param props - The properties to annotate the marker with
1645
1673
  * @param consensusCallback - The callback called when consensus is reached
1674
+ *
1675
+ * @deprecated We no longer intend to support this functionality and it will
1676
+ * be removed in a future release. There is no replacement for this
1677
+ * functionality.
1646
1678
  */
1647
1679
  annotateMarkerNotifyConsensus(marker: Marker, props: PropertySet, callback: (m: Marker) => void): void;
1648
1680
  /**
@@ -1698,7 +1730,7 @@ export declare class SharedString extends SharedSegmentSequence<SharedStringSegm
1698
1730
  }
1699
1731
 
1700
1732
  /**
1701
- * @public
1733
+ * @alpha
1702
1734
  */
1703
1735
  export declare class SharedStringFactory implements IChannelFactory {
1704
1736
  static Type: string;
@@ -1715,13 +1747,12 @@ export declare class SharedStringFactory implements IChannelFactory {
1715
1747
 
1716
1748
  /**
1717
1749
  * Data for undoing edits on SharedStrings and Intervals.
1718
- *
1719
- * @alpha
1750
+ * @internal
1720
1751
  */
1721
1752
  export declare type SharedStringRevertible = MergeTreeDeltaRevertible | IntervalRevertible;
1722
1753
 
1723
1754
  /**
1724
- * @public
1755
+ * @alpha
1725
1756
  */
1726
1757
  export declare type SharedStringSegment = TextSegment | Marker;
1727
1758
 
@@ -1729,7 +1760,7 @@ export declare type SharedStringSegment = TextSegment | Marker;
1729
1760
  * Defines a side relative to a character in a sequence.
1730
1761
  *
1731
1762
  * @remarks See {@link SequencePlace} for additional context on usage.
1732
- * @public
1763
+ * @alpha
1733
1764
  */
1734
1765
  export declare enum Side {
1735
1766
  Before = 0,
@@ -1738,7 +1769,7 @@ export declare enum Side {
1738
1769
 
1739
1770
  /**
1740
1771
  * @deprecated SubSequence will be removed in a upcoming release. It has been moved to the fluid-experimental/sequence-deprecated package
1741
- * @public
1772
+ * @internal
1742
1773
  */
1743
1774
  export declare class SubSequence<T> extends BaseSegment {
1744
1775
  items: Serializable<T>[];