import { version } from './version.js';
import * as Timestamp from './utils/Timestamp';
import * as helpers from './utils/helpers';
export * from './utils/Timestamp';
export * from './utils/helpers';
export { version };
declare const _default: {
    convertToUnit(input: any, unit?: string): string | undefined;
    indexOf(array: any[], cb: (_element: any, _index: number) => boolean): number;
    minCharWidth(str: string, count: number): string;
    default: {
        convertToUnit: typeof helpers.convertToUnit;
        indexOf: typeof helpers.indexOf;
        minCharWidth: typeof helpers.minCharWidth;
    };
    validateTimestamp(input: string): boolean;
    parsed(input: string): Timestamp.Timestamp | null;
    parseDate(date: Date, utc?: boolean): Timestamp.Timestamp | null;
    padNumber(x: number, length: number): string;
    isLeapYear(year: number): boolean;
    daysInMonth(year: number, month: number): number;
    nextDay(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    prevDay(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    today(): string;
    isToday(date: string): boolean;
    getStartOfWeek(timestamp: Timestamp.Timestamp, weekdays: number[], today: Timestamp.Timestamp): Timestamp.Timestamp;
    getEndOfWeek(timestamp: Timestamp.Timestamp, weekdays: number[], today: Timestamp.Timestamp): Timestamp.Timestamp;
    getStartOfMonth(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    getEndOfMonth(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    parseTime(input: number | string | {
        hour: number;
        minute: number;
    }): number | false;
    compareTimestamps(ts1: Timestamp.Timestamp, ts2: Timestamp.Timestamp): boolean;
    compareDate(ts1: Timestamp.Timestamp, ts2: Timestamp.Timestamp): boolean;
    compareTime(ts1: Timestamp.Timestamp, ts2: Timestamp.Timestamp): boolean;
    compareDateTime(ts1: Timestamp.Timestamp, ts2: Timestamp.Timestamp): boolean;
    parseTimestamp(input: string, now?: Timestamp.Timestamp | null): Timestamp.Timestamp | null;
    getDayIdentifier(timestamp: Timestamp.Timestamp): number;
    getTimeIdentifier(timestamp: Timestamp.Timestamp): number;
    getDayTimeIdentifier(timestamp: Timestamp.Timestamp): number;
    diffTimestamp(ts1: Timestamp.Timestamp, ts2: Timestamp.Timestamp, strict?: boolean): number;
    updateRelative(timestamp: Timestamp.Timestamp, now: Timestamp.Timestamp, time?: boolean): Timestamp.Timestamp;
    updateMinutes(timestamp: Timestamp.Timestamp, minutes: number, now?: Timestamp.Timestamp | null): Timestamp.Timestamp;
    updateWeekday(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    updateDayOfYear(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    updateWorkWeek(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    updateDisabled(timestamp: Timestamp.Timestamp, disabledBefore?: string, disabledAfter?: string, disabledWeekdays?: number[], disabledDays?: string[] | string[][]): Timestamp.Timestamp;
    updateFormatted(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    getDayOfYear(timestamp: Timestamp.Timestamp): number | void;
    getWorkWeek(timestamp: Timestamp.Timestamp): number;
    getWeekday(timestamp: Timestamp.Timestamp): number;
    copyTimestamp(timestamp: Timestamp.Timestamp): Timestamp.Timestamp;
    getDate(timestamp: Timestamp.Timestamp): string;
    getTime(timestamp: Timestamp.Timestamp): string;
    getDateTime(timestamp: Timestamp.Timestamp): string;
    moveRelativeDays(timestamp: Timestamp.Timestamp, mover?: typeof Timestamp.nextDay, days?: number, allowedWeekdays?: number[]): Timestamp.Timestamp;
    relativeDays(timestamp: Timestamp.Timestamp, mover?: typeof Timestamp.nextDay, days?: number, allowedWeekdays?: number[]): Timestamp.Timestamp;
    findWeekday(timestamp: Timestamp.Timestamp, weekday: number, mover?: typeof Timestamp.nextDay, maxDays?: number): Timestamp.Timestamp;
    createDayList(start: Timestamp.Timestamp, end: Timestamp.Timestamp, now: Timestamp.Timestamp, weekdays?: number[], disabledBefore?: string | undefined, disabledAfter?: string | undefined, disabledWeekdays?: number[], disabledDays?: string[], max?: number, min?: number): Timestamp.Timestamp[];
    createIntervalList(timestamp: Timestamp.Timestamp, first: number, minutes: number, count: number, now: Timestamp.Timestamp): Timestamp.Timestamp[];
    createNativeLocaleFormatter(locale: string, cb: Timestamp.LocaleFormatter): (_timestamp: Timestamp.Timestamp, _short: boolean) => string;
    makeDate(timestamp: Timestamp.Timestamp, utc?: boolean): Date;
    makeDateTime(timestamp: Timestamp.Timestamp, utc?: boolean): Date;
    validateNumber(input: string | number): boolean;
    maxTimestamp(timestamps: Timestamp.Timestamp[], useTime?: boolean): Timestamp.Timestamp;
    minTimestamp(timestamps: Timestamp.Timestamp[], useTime?: boolean): Timestamp.Timestamp;
    isBetweenDates(timestamp: Timestamp.Timestamp, startTimestamp: Timestamp.Timestamp, endTimestamp: Timestamp.Timestamp, useTime?: boolean): boolean;
    isOverlappingDates(startTimestamp: Timestamp.Timestamp, endTimestamp: Timestamp.Timestamp, firstTimestamp: Timestamp.Timestamp, lastTimestamp: Timestamp.Timestamp): boolean;
    addToDate(timestamp: Timestamp.Timestamp, options: Timestamp.AddToDateOptions): Timestamp.Timestamp;
    daysBetween(ts1: Timestamp.Timestamp, ts2: Timestamp.Timestamp): number;
    weeksBetween(ts1: Timestamp.Timestamp, ts2: Timestamp.Timestamp): number;
    getWeekdayFormatter(): Timestamp.WeekdayFormatter;
    getWeekdayNames(type: string, locale: string): string[];
    getMonthFormatter(): Timestamp.MonthFormatter;
    getMonthNames(type: string, locale: string): string[];
    PARSE_DATETIME: RegExp;
    PARSE_DATE: RegExp;
    PARSE_TIME: RegExp;
    DAYS_IN_MONTH: number[];
    DAYS_IN_MONTH_LEAP: number[];
    TIME_CONSTANTS: {
        MILLISECONDS_IN: {
            SECOND: number;
            MINUTE: number;
            HOUR: number;
            DAY: number;
            WEEK: number;
        };
        SECONDS_IN: {
            MINUTE: number;
            HOUR: number;
            DAY: number;
            WEEK: number;
        };
        MINUTES_IN: {
            MINUTE: number;
            HOUR: number;
            DAY: number;
            WEEK: number;
        };
        HOURS_IN: {
            DAY: number;
            WEEK: number;
        };
        DAYS_IN: {
            WEEK: number;
        };
    };
    DAYS_IN_MONTH_MIN: 28;
    DAYS_IN_MONTH_MAX: 31;
    MONTH_MAX: 12;
    MONTH_MIN: 1;
    DAY_MIN: 1;
    FIRST_HOUR: 0;
    version: string;
};
export default _default;
