/** Moment */ import moment from "moment"; /** * TimeLine Model Block */ export interface TimeModelTimeBlock { from: moment.Moment; to: moment.Moment; } /** * TimeLine Block */ export interface TimeLineBlock { from: number; to: number; duration: number; } /** * Model */ export interface TimeLineModel { blocks: TimeModelTimeBlock[]; from: moment.Moment; to: moment.Moment; } /** * TimeLineStep */ export declare enum TimeLineModelStep { Custom = 0, Hour = 1, Day = 2, Week = 3, Month = 4 } /** * VisibleWindowChangeEventArgs */ export interface VisibleWindowChangeEventArgs { custom: boolean; from: moment.Moment; to: moment.Moment; currentDate: moment.Moment; fromPercentage?: number; toPercentage?: number; } /** * TimeLineUtils */ export declare class TimeLineUtils { /** * Check intersection between two periods * @param p1 period 1 * @param p2 period 2 */ static checkPeriodIntersection(p1: TimeLineBlock, p2: TimeLineBlock, returnTheIntersection?: boolean): TimeLineBlock; /** * Intersects two period arrays and saves the result in array B * @param periodsArrayA * @param periodsArrayB * @param periodAPath [optional] */ static intersectTwoPeriodArrays(periodsArrayA: Array, periodsArrayB: Array, periodAPath?: string): void; /** * Get time value in interval * @param beginInterval * @param endInterval * @param time */ static getTimeValueInInterval(beginInterval: moment.Moment, endInterval: moment.Moment, time: moment.Moment): number; /** * Get percentage of time in interval * @param beginInterval * @param endInterval * @param time */ static getPercentageOfTimeInInterval(beginInterval: moment.Moment, endInterval: moment.Moment, time: moment.Moment): number; /** * Calculate date from percentage of time in interval * @param beginInterval * @param endInterval * @param percentage */ static getDateFromPercentageOfTimeInterval(beginInterval: moment.Moment, endInterval: moment.Moment, percentage: number): moment.Moment; }