/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import type { LocalReferencePosition } from "./localReference.js"; import type { ISegmentInternal } from "./mergeTreeNodes.js"; import { SortedSet } from "./sortedSet.js"; /** * @internal */ export type SortedSegmentSetItem = ISegmentInternal | LocalReferencePosition | { readonly segment: ISegmentInternal; }; /** * Stores a unique and sorted set of segments, or objects with segments * * This differs from a normal sorted set in that the keys are not fixed. * The segments are sorted via their ordinals which can change as the merge tree is modified. * Even though the values of the ordinals can change their ordering and uniqueness cannot, so the order of a set of * segments ordered by their ordinals will always have the same order even if the ordinal values on * the segments changes. This invariant allows us to ensure the segments stay * ordered and unique, and that new segments can be inserted into that order. * * @internal */ export declare class SortedSegmentSet extends SortedSet { private getOrdinal; private getOffset; onSortOrderChange(): void; protected compare(a: T, b: T): number; protected onFindEquivalent(item: T, startIndex: number): { exists: boolean; index: number; }; } //# sourceMappingURL=sortedSegmentSet.d.ts.map