import dayjs from 'dayjs';
import { SelectedRange, ITimePickerTimezone, ITimezoneOffset } from '../types';
import { DateInput } from './types/dates';
/**
 * Helper methods for date type display, parse, calculate and manipulation.
 *
 * @note The month number should be a number between 1 and 12, where 1 corresponds to January and 12 December.
 */
export declare const newDate: (date?: DateInput) => dayjs.Dayjs;
export declare const newTimezoneDate: (timezone: string, date?: DateInput) => dayjs.Dayjs;
export declare const newTimezoneDateFromFormat: (timezone: string, format: string, date: DateInput) => dayjs.Dayjs;
export declare const fromISO: (date: string) => dayjs.Dayjs;
export declare const fromDateFields: (day: number, month: number, year: number) => dayjs.Dayjs;
export declare const fromDateInput: (date: DateInput) => dayjs.Dayjs;
export declare const getMonthName: (month: number) => string;
export declare const getNumberOfDaysInMonth: (month: number, year: number) => number;
export declare const getWeekdaysNames: () => string[];
export declare const getFirstWeekdayIndexOfMonth: (month: number, year: number) => number;
export declare const isDateBefore: (dateA: DateInput, dateB: DateInput) => boolean;
export declare const isDateTimeBefore: (dateA: DateInput, dateB: DateInput) => boolean;
export declare const isDateTimeAfter: (dateA: DateInput, dateB: DateInput) => boolean;
export declare const isDateAfter: (dateA: DateInput, dateB: DateInput) => boolean;
export declare const isDateSame: (dateA: DateInput, dateB: DateInput) => boolean;
export declare const isDateInRange: (date: DateInput, rangeStartDate: DateInput, rangeEndDate: DateInput, inclusive?: boolean) => boolean;
export declare const isDateInArray: (date: DateInput, array?: DateInput[]) => boolean;
export declare const getDateMonth: (date: DateInput) => number;
export declare const getDateYear: (date: DateInput) => number;
export declare const getDatesBetweenRange: (dateRangeStart: DateInput, dateRangeEnd: DateInput, inclusive?: boolean) => string[];
export declare const getTimezonesNames: () => string[];
export declare const getDefaultTimezone: () => string;
export declare const getTimezoneOffset: (zone: string) => number;
export declare const formatDateTime: (date: DateInput, mask?: string) => string;
export declare const formatDate: (date: DateInput, mask?: string) => string;
export declare const formatTimezoneName: (timezone: string, date?: DateInput) => string;
export declare const formatForTimezone: (timezone: string, date?: DateInput) => string;
export declare const areDatesValid: (dates: DateInput[]) => boolean;
export declare const isDateValid: (date: DateInput) => boolean;
export declare const calculateDate: (date: DateInput, amount?: number, unit?: dayjs.ManipulateType | dayjs.QUnitType) => dayjs.Dayjs;
export declare const getDatesRangeKey: (startDate?: string, endDate?: string) => string;
export declare const fromDatesRangeKey: (datesKey: string) => SelectedRange;
export declare const getMonthAndYearTitle: (month: number, year: number) => string;
export declare const getDefaultTimezoneSettings: (timezone?: string) => ITimePickerTimezone;
export declare const buildTimezoneByOffset: (timezones: string[]) => ITimezoneOffset[];
