import { CubeTimeDimensionGranularity } from '../enum/cube-time-dimension-granularity.enum'; import { ShiftDirectionEnum } from '../enum/shift-direction.enum'; import { WeekdayIndexEnum, Weekdays } from '../enum/weekdays/weekdays.enum'; /** * shiftDateToNearestGranularity({date, granularity, direction}) returns a date shifted * based on granularity and direction. * * Note: For weekly granularity, weeks start on Monday. * This is for Cube support. * * @param {Date} props.date * @param {CubeTimeDimensionGranularity} props.granularity * @param {ShiftDirectionEnum} props.direction * @return {Date} date */ export declare const shiftDateToNearestGranularity: (props: { date: Date; granularity: CubeTimeDimensionGranularity; direction: ShiftDirectionEnum; }) => Date; export declare const getTimezoneUtcOffset: (timezone: string) => number; export declare const correlateDatetimeByUtcOffset: (date: Date, offset: number) => Date; export declare const toTimezonedIsoDate: (isoUtc: string, timezone: string) => string; export declare const getDateByDaysOffset: (date: Date, offset: number, forwardFacing?: boolean) => Date; export declare const getStartDate: (granularity: CubeTimeDimensionGranularity, startDate: string, endDate: string) => Date; export declare const isSameDateInGranularity: (date1: Date, date2: Date, granularity: CubeTimeDimensionGranularity) => Boolean; export declare const spreadDateRangeForMonthlyGranularity: (startDate: Date, endDate: Date, granularity: CubeTimeDimensionGranularity) => Date[]; export declare const spreadDateRange: (startDate: Date, endDate: Date, offset?: number) => Date[]; export declare const spreadDateRangeForGranularity: (startDate: Date, endDate: Date, granularity: CubeTimeDimensionGranularity) => Date[]; export declare const spreadDateRangeForWeekday: (startDate: Date, endDate: Date, weekday: Weekdays) => Date[]; export declare const getDayOfWeek: (dayOfWeek: number) => Weekdays; export declare function isWeekday(granularity: any): granularity is Weekdays; export declare const getFirstUtcDayInDateRange: (startDate: Date, endDate: Date, utcDayIndex: number) => Date; export declare const convertWeekdayToWeekdayIndex: (weekday: Weekdays) => WeekdayIndexEnum; export declare const convertWeekdayToIndex: (weekday: Weekdays) => WeekdayIndexEnum; export declare const isSameDate: (date1: Date, date2: Date) => Boolean; export declare const isSameWeek: (date1: Date, date2: Date) => Boolean; export declare const isSameMonth: (date1: Date, date2: Date) => Boolean; export declare const getStartOfWeek: (date: Date) => Date; export declare const millisecondsToHours: (milliseconds: number) => number; export declare const minutesToMilliseconds: (minutes: number) => number; export declare const toNonZuluTimeString: (date: Date) => string; export declare const getPeriodBoundariesFromStartDateAndGranularity: (startDate: Date, granularity: CubeTimeDimensionGranularity) => Date[]; export declare const toDate: (obj: unknown) => Date | null; export declare const dateKeyUTC: (d: Date) => string; export declare const isoWeekKeyUTC: (d: Date) => string; export declare const monthKeyUTC: (d: Date) => string; export declare const bucketKey: (d: Date, g: CubeTimeDimensionGranularity) => string; export declare const distinctPeriodCount: (startDate: Date, endDate: Date, granularity?: CubeTimeDimensionGranularity) => number; //# sourceMappingURL=datetime.util.d.ts.map