import { CellStatusType, ContentType, ModeType } from './types';
export declare const MAX_MONTH = 11;
export declare const MIN_MONTH = 0;
export declare const MAX_DAY = 6;
export declare const MIN_DAY = 0;
export declare const NOW: Date;
export declare const DEFAULT_MAX_DATE: Date;
export declare const DEFAULT_MIN_DATE: Date;
type DisableFunc = (d: Date, view: string) => boolean;
export declare const getMaxMinDate: (validRange: [Date, Date]) => Date[];
export declare const formatNumber: (value: number) => string | number;
export declare const getDate: (value: Date | undefined | null, maxDate: Date, minDate: Date) => Date;
export declare function cloneDate(d: Date): Date;
export declare const getDaysInMonth: (date: Date) => number;
export declare function updateYear(d: any, isAdd: boolean, maxDate: Date, minDate: Date): Date;
export declare function updateWeek(d: any, isAdd: boolean, maxDate: Date, minDate: Date): Date;
export declare function updateMonth(d: any, isAdd: boolean, maxDate: Date, minDate: Date): Date;
export declare function getMonthList(visibleDate: any, locale: any): any[];
export declare function getDayList(local: any): any[];
type getDatesResult = {
    label: string;
    value: Date;
};
export declare function getPreMonthDates(visibleDate: Date, locale: any): getDatesResult[];
export declare function getCurrentMonthDates(visibleDate: Date, locale: any): getDatesResult[];
export declare function getNextMonthDates(visibleDate: Date, locale: any): getDatesResult[];
export declare function getCurrentMonthList(visibleDate: Date, local: any): getDatesResult[];
export declare function isTheSameDay(date1: Date, date2: Date): boolean;
export declare function isTheSameMonth(date1: Date, date2: Date): boolean;
export declare function isTheSameYear(date1: Date, date2: Date): boolean;
export declare function isDateDisabled(cellDate: Date, disableFunc: DisableFunc, maxDate: Date, minDate: Date, view: string): boolean;
export declare function isDateInRange(cellDate: Date, selectedData: Date | Date[]): boolean;
export declare function isDateSelected(cellDate: Date, selectedData: Date | Date[], mode: ModeType, type: ContentType): CellStatusType;
export declare function getCellStatus(cellDate: Date, selectedData: Date | Date[], mode: ModeType, type: ContentType, disableFunc: DisableFunc, maxDate: Date, minDate: Date, view: string): CellStatusType;
export declare function isToday(cellDate: Date): boolean;
export declare function isHaveDate(cellDate: Date, selected: Date[]): number;
export declare function getFirstDayOfMonth(d: Date): Date;
export declare function getWeekArray(d: Date, firstDayOfWeek: number): Date[][];
export declare function getWeekDayArray(weekdays: string[], firstDayOfWeek: number): string[];
export declare function getWeekDateArray(d: Date, firstDayOfWeek: number): any[];
export declare function getMonthArray(d: Date): Date[];
export declare function setWeek(d: Date, day: number, firstDayOfWeek: number): Date;
export declare function cloneAsDate(d: Date): Date;
export declare function isBeforeDate(d1: Date, d2: Date): boolean;
export declare function isAfterDate(d1: Date, d2: Date): boolean;
export declare function isBetweenDates(dateToCheck: Date, startDate: Date, endDate: Date): boolean;
export declare function isEqualDate(d1: Date, d2: Date): boolean;
export declare function normalizeValue(value: Date | Date[], isSelectWeek: boolean, firstDayOfWeek: number): Date[];
export interface LocaleType {
    year?: string;
    month?: string;
    day?: string;
    hour?: string;
    minute?: string;
    second?: string;
    am?: string;
    pm?: string;
}
export declare const getDefaultFormat: (type: any, second: any, use12Hours: any) => any;
export declare const getDateByValues: (date: Date, values: any[], type: 'date' | 'time' | 'datetime' | 'year' | 'month', second: boolean, use12Hours: boolean) => Date;
export declare const getValues: (value: any, type: any, second: any, use12Hours: any, maxDate: any, minDate: any) => any[];
export declare const getYears: (maxDate: any, minDate: any, locale?: LocaleType) => any[];
export declare const getMonths: (value: any, maxDate: any, minDate: any, locale?: LocaleType) => any[];
export declare const getDays: (value: any, maxDate: any, minDate: any, locale?: LocaleType) => any[];
export declare const getHours: (value: any, maxDate: any, minDate: any, locale: LocaleType, use12Hours: any) => any[];
export declare const getMinutes: (value: any, maxDate: any, minDate: any, locale?: LocaleType) => any[];
export declare const getSeconds: (value: any, maxDate: any, minDate: any, locale?: LocaleType) => any[];
export declare const getAMPM: (locale: LocaleType) => {
    label: any;
    value: string;
}[];
export declare const getDataSource: (value: any, type: any, second: any, use12Hours: any, maxDate: any, minDate: any, locale: any) => any[];
export declare const getTargetDate: (modeType: any, visibleDate: any, type: any, maxDate: any, minDate: any) => any;
export declare const genContentHeight: (modeType: any) => "220" | "580" | "700";
export declare const genTotalPageDates: (minDate: any, maxDate: any, mode: any, visibleDate: any, firstDay: any) => any[];
export declare const getSelectedIndex: (dates: any, selectedDate: any) => number;
export declare const getDateCellStatus: ({ cellDate, selectedDate, mode, type, disabledDate, maxDate, minDate, visibleDate, }: {
    cellDate: any;
    selectedDate: any;
    mode: any;
    type: any;
    disabledDate: any;
    maxDate: any;
    minDate: any;
    visibleDate: any;
}) => [CellStatusType, boolean];
export {};
