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; appendRange(that: SegmentedRange): void; segments(): Segment[]; private tryMerge; }