export declare class Segment { begin: number; end: number; data: T; constructor(begin: number, end: number, data: T); intersects(that: Segment): boolean; } export declare class SegmentedRange { #private; constructor(mergeCallback?: ((arg0: Segment, arg1: Segment) => Segment | null)); append(newSegment: Segment): void; segments(): Array>; private tryMerge; }