import { App as Application } from 'vue';
import QCalendarDay from './components/QCalendarDay';
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, QCalendarDay };
declare const _default: {
    install(app: Application): void;
    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;
    QCalendarDay: import("vue").DefineComponent<{
        view: "day" | "week" | "month" | "month-interval";
        shortIntervalLabel?: boolean | undefined;
        intervalHeight: number | string;
        intervalMinutes: number | string;
        intervalStart: number | string;
        intervalCount: number | string;
        intervalStyle?: ((_scope: import("./composables/useInterval").Scope) => any) | undefined;
        intervalClass?: ((_scope: import("./composables/useInterval").Scope) => string) | undefined;
        weekdayStyle?: ((_scope: import("./composables/useInterval").Scope) => any) | undefined;
        weekdayClass?: ((_scope: import("./composables/useInterval").Scope) => string) | undefined;
        showIntervalLabel?: ((_timestamp: Timestamp.Timestamp) => any) | undefined;
        hour24Format?: boolean | undefined;
        timeClicksClamped?: boolean | undefined;
        dateHeader: "stacked" | "inline" | "inverted";
        modelValue: string;
        weekdays: number[];
        dateType: "round" | "rounded" | "square";
        weekdayAlign: "left" | "center" | "right";
        dateAlign: "left" | "center" | "right";
        bordered: boolean;
        dark: boolean;
        noAria: boolean;
        noActiveDate: boolean;
        noHeader: boolean;
        noScroll: boolean;
        shortWeekdayLabel: boolean;
        noDefaultHeaderText: boolean;
        noDefaultHeaderBtn: boolean;
        minWeekdayLabel: number | string;
        weekdayBreakpoints: number[];
        locale: string;
        animated: boolean;
        transitionPrev: string;
        transitionNext: string;
        disabledDays?: string[] | undefined;
        disabledBefore?: string | undefined;
        disabledAfter?: string | undefined;
        disabledWeekdays?: number[] | undefined;
        dragEnterFunc?: ((_event: Event, _type: string, _scope: any) => boolean) | undefined;
        dragOverFunc?: ((_event: Event, _type: string, _scope: any) => boolean) | undefined;
        dragLeaveFunc?: ((_event: Event, _type: string, _scope: any) => boolean) | undefined;
        dropFunc?: ((_event: Event, _type: string, _scope: any) => boolean) | undefined;
        selectedDates: string[] | Set<string>;
        selectedStartEndDates: string[];
        hoverable: boolean;
        focusable: boolean;
        focusType: ("day" | "date" | "weekday" | "interval" | "time" | "resource" | "task")[];
        columnCount: number | string;
        columnIndexStart: number | string;
        cellWidth?: number | string | undefined;
        maxDays: number;
        now: string;
        useNavigation: boolean;
    }, () => import("vue").VNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
        view: "day" | "week" | "month" | "month-interval";
        shortIntervalLabel?: boolean | undefined;
        intervalHeight: number | string;
        intervalMinutes: number | string;
        intervalStart: number | string;
        intervalCount: number | string;
        intervalStyle?: ((_scope: import("./composables/useInterval").Scope) => any) | undefined;
        intervalClass?: ((_scope: import("./composables/useInterval").Scope) => string) | undefined;
        weekdayStyle?: ((_scope: import("./composables/useInterval").Scope) => any) | undefined;
        weekdayClass?: ((_scope: import("./composables/useInterval").Scope) => string) | undefined;
        showIntervalLabel?: ((_timestamp: Timestamp.Timestamp) => any) | undefined;
        hour24Format?: boolean | undefined;
        timeClicksClamped?: boolean | undefined;
        dateHeader: "stacked" | "inline" | "inverted";
        modelValue: string;
        weekdays: number[];
        dateType: "round" | "rounded" | "square";
        weekdayAlign: "left" | "center" | "right";
        dateAlign: "left" | "center" | "right";
        bordered: boolean;
        dark: boolean;
        noAria: boolean;
        noActiveDate: boolean;
        noHeader: boolean;
        noScroll: boolean;
        shortWeekdayLabel: boolean;
        noDefaultHeaderText: boolean;
        noDefaultHeaderBtn: boolean;
        minWeekdayLabel: number | string;
        weekdayBreakpoints: number[];
        locale: string;
        animated: boolean;
        transitionPrev: string;
        transitionNext: string;
        disabledDays?: string[] | undefined;
        disabledBefore?: string | undefined;
        disabledAfter?: string | undefined;
        disabledWeekdays?: number[] | undefined;
        dragEnterFunc?: ((_event: Event, _type: string, _scope: any) => boolean) | undefined;
        dragOverFunc?: ((_event: Event, _type: string, _scope: any) => boolean) | undefined;
        dragLeaveFunc?: ((_event: Event, _type: string, _scope: any) => boolean) | undefined;
        dropFunc?: ((_event: Event, _type: string, _scope: any) => boolean) | undefined;
        selectedDates: string[] | Set<string>;
        selectedStartEndDates: string[];
        hoverable: boolean;
        focusable: boolean;
        focusType: ("day" | "date" | "weekday" | "interval" | "time" | "resource" | "task")[];
        columnCount: number | string;
        columnIndexStart: number | string;
        cellWidth?: number | string | undefined;
        maxDays: number;
        now: string;
        useNavigation: boolean;
    }> & Readonly<{}>, {
        view: "day" | "month" | "week" | "month-interval";
        columnCount: string | number;
        dark: boolean;
        focusable: boolean;
        columnIndexStart: string | number;
        now: string;
        maxDays: number;
        shortIntervalLabel: boolean;
        intervalHeight: string | number;
        intervalMinutes: string | number;
        intervalStart: string | number;
        intervalCount: string | number;
        intervalStyle: ((_scope: import("./composables/useInterval").Scope) => any) | undefined;
        intervalClass: ((_scope: import("./composables/useInterval").Scope) => string) | undefined;
        weekdayStyle: ((_scope: import("./composables/useInterval").Scope) => any) | undefined;
        weekdayClass: ((_scope: import("./composables/useInterval").Scope) => string) | undefined;
        showIntervalLabel: ((_timestamp: Timestamp.Timestamp) => any) | undefined;
        hour24Format: boolean;
        timeClicksClamped: boolean;
        dateHeader: "inline" | "stacked" | "inverted";
        modelValue: string;
        weekdays: number[];
        dateType: "square" | "round" | "rounded";
        weekdayAlign: "center" | "left" | "right";
        dateAlign: "center" | "left" | "right";
        bordered: boolean;
        noAria: boolean;
        noActiveDate: boolean;
        noHeader: boolean;
        noScroll: boolean;
        shortWeekdayLabel: boolean;
        noDefaultHeaderText: boolean;
        noDefaultHeaderBtn: boolean;
        minWeekdayLabel: string | number;
        weekdayBreakpoints: number[];
        locale: string;
        animated: boolean;
        transitionPrev: string;
        transitionNext: string;
        disabledWeekdays: number[];
        selectedDates: string[] | Set<string>;
        selectedStartEndDates: string[];
        hoverable: boolean;
        focusType: ("time" | "interval" | "day" | "weekday" | "date" | "resource" | "task")[];
        useNavigation: boolean;
    }, {}, {}, {
        ResizeObserver: import("vue").Directive;
    }, string, import("vue").ComponentProvideOptions, true, {}, any>;
};
export default _default;
