import { DateTimeUnit } from "./../formattingService/iFormattingService"; export declare class DateTimeSequence { private static MIN_COUNT; private static MAX_COUNT; min: Date; max: Date; unit: DateTimeUnit; sequence: Date[]; interval: number; intervalOffset: number; constructor(unit: DateTimeUnit); /** * Add a new Date to a sequence. * @param date - date to add */ add(date: Date): void; /** * Extends the sequence to cover new date range * @param min - new min to be covered by sequence * @param max - new max to be covered by sequence */ extendToCover(min: Date, max: Date): void; /** * Move the sequence to cover new date range * @param min - new min to be covered by sequence * @param max - new max to be covered by sequence */ moveToCover(min: Date, max: Date): void; /** * Calculate a new DateTimeSequence * @param dataMin - Date representing min of the data range * @param dataMax - Date representing max of the data range * @param expectedCount - expected number of intervals in the sequence * @param unit - of the intervals in the sequence */ static CALCULATE(dataMin: Date, dataMax: Date, expectedCount: number, unit?: DateTimeUnit): DateTimeSequence; static CALCULATE_YEARS(dataMin: Date, dataMax: Date, expectedCount: number): DateTimeSequence; static CALCULATE_MONTHS(dataMin: Date, dataMax: Date, expectedCount: number): DateTimeSequence; static CALCULATE_WEEKS(dataMin: Date, dataMax: Date, expectedCount: number): DateTimeSequence; static CALCULATE_DAYS(dataMin: Date, dataMax: Date, expectedCount: number): DateTimeSequence; static CALCULATE_HOURS(dataMin: Date, dataMax: Date, expectedCount: number): DateTimeSequence; static CALCULATE_MINUTES(dataMin: Date, dataMax: Date, expectedCount: number): DateTimeSequence; static CALCULATE_SECONDS(dataMin: Date, dataMax: Date, expectedCount: number): DateTimeSequence; static CALCULATE_MILLISECONDS(dataMin: Date, dataMax: Date, expectedCount: number): DateTimeSequence; static ADD_INTERVAL(value: Date, interval: number, unit: DateTimeUnit): Date; private static fromNumericSequence; private static getDelta; static GET_INTERVAL_UNIT(min: Date, max: Date, maxCount: number): DateTimeUnit; }