import { ConstInterval } from './const'; import { FixedInterval } from './fixed'; import { MutableInterval } from './mutable'; import { IReproducibleInterval } from './reproducible'; import { SparseIntervals } from './sparse/intervals'; export declare class IntervalAlgorithms { static oneConstainsOtherArraysOfInterval(mergedIntervalsA: FixedInterval[], intervalsB: FixedInterval[]): boolean; static getIntersection(intervalA: T & IReproducibleInterval, intervalB: T): T | null; static getIntersectionTemplate>(intervalA: ConstInterval, intervalB: ConstInterval, template: TemplateT): ResultIntervalT | null; static getIntersectionNonNullLength(intervalA: T & IReproducibleInterval, intervalB: ConstInterval): T | null; static getIntersectionNonNullLengthTemplate>(intervalA: ConstInterval, intervalB: ConstInterval, template: TemplateT): ResultIntervalT | null; static getIntersectionsTwoArraysOfInterval(intervalsA: (T & IReproducibleInterval)[], intervalsB: ConstInterval[]): T[]; static getIntersectionsTwoArraysOfIntervalTemplate>(intervalsA: ConstInterval[], intervalsB: ConstInterval[], template: TemplateT): ResultIntervalT[]; static getAffectedObjects(objects: TObj[], intervals: (T & IReproducibleInterval)[], getFirstIndex?: (start: number, objects: TObj[]) => number, conflictResolver?: (objectInterval: ConstInterval, touchingIntervalLength: number, touchPoint: number) => boolean): SparseIntervals; static getAffectedObjectsTemplate, TObj extends { interval: ConstInterval; }>(objects: TObj[], intervals: ConstInterval[], template: TemplateT, getFirstIndex?: (start: number, objects: TObj[]) => number, conflictResolver?: (objectInterval: ConstInterval, touchingIntervalLength: number, touchPoint: number) => boolean): SparseIntervals; static handleAffectedObjects(objects: TObj[], intervals: IntervalT[], callback: (obj: TObj, index: number, interval: IntervalT, intersection: ConstInterval) => void, getFirstIndex?: (start: number, objects: TObj[]) => number): void; static getMergedIntervals(intervals: (T & IReproducibleInterval)[], needSort: boolean): T[]; static getMergedIntervalsTemplate(intervals: ConstInterval[], needSort: boolean, template: IReproducibleInterval): ResultIntervalT[]; static reflectIntervals(intervals: T[], bounds: (T & IReproducibleInterval)): T[]; static reflectIntervalsTemplate(intervals: ConstInterval[], bounds: ConstInterval, template: IReproducibleInterval): ResultT[]; static reflectionOfPointOnInterval(value: number, valInterval: FixedInterval, targetInterval: FixedInterval): number; } //# sourceMappingURL=algorithms.d.ts.map