import { App as Application } from 'vue';
import QCalendarMonth from './components/QCalendarMonth';
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, QCalendarMonth };
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;
    QCalendarMonth: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        useNavigation: BooleanConstructor;
        cellWidth: (StringConstructor | NumberConstructor)[];
        now: {
            type: StringConstructor;
            validator: (v: string) => boolean;
            default: string;
        };
        dayHeight: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
            validator: (v: any) => boolean;
        };
        dayMinHeight: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
            validator: (v: any) => boolean;
        };
        dayStyle: FunctionConstructor;
        dayClass: FunctionConstructor;
        weekdayStyle: FunctionConstructor;
        weekdayClass: FunctionConstructor;
        dayPadding: StringConstructor;
        minWeeks: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
            validator: (v: any) => boolean;
        };
        shortMonthLabel: BooleanConstructor;
        showWorkWeeks: BooleanConstructor;
        showMonthLabel: {
            type: BooleanConstructor;
            default: boolean;
        };
        showDayOfYearLabel: BooleanConstructor;
        enableOutsideDays: BooleanConstructor;
        noOutsideDays: BooleanConstructor;
        hover: BooleanConstructor;
        miniMode: {
            type: (StringConstructor | BooleanConstructor)[];
            validator: (v: any) => boolean;
        };
        breakpoint: {
            type: (StringConstructor | NumberConstructor)[];
            default: string;
            validator: (v: any) => boolean;
        };
        monthLabelSize: {
            type: StringConstructor;
            default: string;
            validator: (v: any) => boolean;
        };
        modelValue: {
            type: StringConstructor;
            default: string;
            validator: (v: string) => boolean;
        };
        weekdays: {
            type: () => number[];
            default: () => number[];
        };
        dateType: {
            type: () => "round" | "rounded" | "square";
            default: string;
            validator: (v: string) => boolean;
        };
        weekdayAlign: {
            type: () => "left" | "center" | "right";
            default: string;
            validator: (v: string) => boolean;
        };
        dateAlign: {
            type: () => "left" | "center" | "right";
            default: string;
            validator: (v: string) => boolean;
        };
        bordered: BooleanConstructor;
        dark: BooleanConstructor;
        noAria: BooleanConstructor;
        noActiveDate: BooleanConstructor;
        noHeader: BooleanConstructor;
        noScroll: BooleanConstructor;
        shortWeekdayLabel: BooleanConstructor;
        noDefaultHeaderText: BooleanConstructor;
        noDefaultHeaderBtn: BooleanConstructor;
        minWeekdayLabel: {
            type: import("vue").PropType<number | string>;
            default: number;
        };
        weekdayBreakpoints: {
            type: () => number[];
            default: () => number[];
            validator: (v: number[]) => boolean;
        };
        locale: {
            type: StringConstructor;
            default: string;
        };
        animated: BooleanConstructor;
        transitionPrev: {
            type: StringConstructor;
            default: string;
        };
        transitionNext: {
            type: StringConstructor;
            default: string;
        };
        disabledDays: () => string[];
        disabledBefore: StringConstructor;
        disabledAfter: StringConstructor;
        disabledWeekdays: {
            type: () => number[];
            default: () => string[] | Set<string>;
        };
        dragEnterFunc: import("vue").PropType<(_event: Event, _type: string, _scope: any) => boolean>;
        dragOverFunc: import("vue").PropType<(_event: Event, _type: string, _scope: any) => boolean>;
        dragLeaveFunc: import("vue").PropType<(_event: Event, _type: string, _scope: any) => boolean>;
        dropFunc: import("vue").PropType<(_event: Event, _type: string, _scope: any) => boolean>;
        selectedDates: {
            type: import("vue").PropType<string[] | Set<string>>;
            default: () => string[] | Set<string>;
        };
        selectedStartEndDates: {
            type: () => string[];
            default: () => string[];
        };
        hoverable: BooleanConstructor;
        focusable: BooleanConstructor;
        focusType: {
            type: () => ("day" | "date" | "weekday" | "interval" | "time" | "resource" | "task")[];
            default: () => ("day" | "date" | "weekday" | "interval" | "time" | "resource" | "task")[];
            validator: (v: string[]) => boolean;
        };
    }>, () => import("vue").VNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        useNavigation: BooleanConstructor;
        cellWidth: (StringConstructor | NumberConstructor)[];
        now: {
            type: StringConstructor;
            validator: (v: string) => boolean;
            default: string;
        };
        dayHeight: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
            validator: (v: any) => boolean;
        };
        dayMinHeight: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
            validator: (v: any) => boolean;
        };
        dayStyle: FunctionConstructor;
        dayClass: FunctionConstructor;
        weekdayStyle: FunctionConstructor;
        weekdayClass: FunctionConstructor;
        dayPadding: StringConstructor;
        minWeeks: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
            validator: (v: any) => boolean;
        };
        shortMonthLabel: BooleanConstructor;
        showWorkWeeks: BooleanConstructor;
        showMonthLabel: {
            type: BooleanConstructor;
            default: boolean;
        };
        showDayOfYearLabel: BooleanConstructor;
        enableOutsideDays: BooleanConstructor;
        noOutsideDays: BooleanConstructor;
        hover: BooleanConstructor;
        miniMode: {
            type: (StringConstructor | BooleanConstructor)[];
            validator: (v: any) => boolean;
        };
        breakpoint: {
            type: (StringConstructor | NumberConstructor)[];
            default: string;
            validator: (v: any) => boolean;
        };
        monthLabelSize: {
            type: StringConstructor;
            default: string;
            validator: (v: any) => boolean;
        };
        modelValue: {
            type: StringConstructor;
            default: string;
            validator: (v: string) => boolean;
        };
        weekdays: {
            type: () => number[];
            default: () => number[];
        };
        dateType: {
            type: () => "round" | "rounded" | "square";
            default: string;
            validator: (v: string) => boolean;
        };
        weekdayAlign: {
            type: () => "left" | "center" | "right";
            default: string;
            validator: (v: string) => boolean;
        };
        dateAlign: {
            type: () => "left" | "center" | "right";
            default: string;
            validator: (v: string) => boolean;
        };
        bordered: BooleanConstructor;
        dark: BooleanConstructor;
        noAria: BooleanConstructor;
        noActiveDate: BooleanConstructor;
        noHeader: BooleanConstructor;
        noScroll: BooleanConstructor;
        shortWeekdayLabel: BooleanConstructor;
        noDefaultHeaderText: BooleanConstructor;
        noDefaultHeaderBtn: BooleanConstructor;
        minWeekdayLabel: {
            type: import("vue").PropType<number | string>;
            default: number;
        };
        weekdayBreakpoints: {
            type: () => number[];
            default: () => number[];
            validator: (v: number[]) => boolean;
        };
        locale: {
            type: StringConstructor;
            default: string;
        };
        animated: BooleanConstructor;
        transitionPrev: {
            type: StringConstructor;
            default: string;
        };
        transitionNext: {
            type: StringConstructor;
            default: string;
        };
        disabledDays: () => string[];
        disabledBefore: StringConstructor;
        disabledAfter: StringConstructor;
        disabledWeekdays: {
            type: () => number[];
            default: () => string[] | Set<string>;
        };
        dragEnterFunc: import("vue").PropType<(_event: Event, _type: string, _scope: any) => boolean>;
        dragOverFunc: import("vue").PropType<(_event: Event, _type: string, _scope: any) => boolean>;
        dragLeaveFunc: import("vue").PropType<(_event: Event, _type: string, _scope: any) => boolean>;
        dropFunc: import("vue").PropType<(_event: Event, _type: string, _scope: any) => boolean>;
        selectedDates: {
            type: import("vue").PropType<string[] | Set<string>>;
            default: () => string[] | Set<string>;
        };
        selectedStartEndDates: {
            type: () => string[];
            default: () => string[];
        };
        hoverable: BooleanConstructor;
        focusable: BooleanConstructor;
        focusType: {
            type: () => ("day" | "date" | "weekday" | "interval" | "time" | "resource" | "task")[];
            default: () => ("day" | "date" | "weekday" | "interval" | "time" | "resource" | "task")[];
            validator: (v: string[]) => boolean;
        };
    }>> & Readonly<{}>, {
        dark: boolean;
        focusable: boolean;
        now: string;
        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")[];
        dayHeight: string | number;
        dayMinHeight: string | number;
        useNavigation: boolean;
        minWeeks: string | number;
        shortMonthLabel: boolean;
        showWorkWeeks: boolean;
        showMonthLabel: boolean;
        showDayOfYearLabel: boolean;
        enableOutsideDays: boolean;
        noOutsideDays: boolean;
        hover: boolean;
        breakpoint: string | number;
        monthLabelSize: string;
    }, {}, {}, {
        ResizeObserver: import("vue").Directive;
    }, string, import("vue").ComponentProvideOptions, true, {}, any>;
};
export default _default;
