/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { ViewListEventArguments } from './ViewList';
import { CalendarViewEnum, SelectionRange, CalendarMode } from '../models/main';
import { CalendarComputed } from './interfaces/CalendarComputed';
import { NavigationEventArguments, CalendarChangeEvent } from './interfaces/CalendarEventArguments';
import { ViewWeekCellEventArguments, ViewWeekNameEventArguments } from './View';
import { PropType } from 'vue';
/**
 * @hidden
 */
declare const Calendar: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    activeRangeEnd: {
        type: PropType<import('../models/SelectionRangeEnd').SelectionRangeEnd>;
        default: any;
    };
    allowReverse: {
        type: PropType<boolean>;
        default: boolean;
    };
    cell: PropType<any>;
    className: PropType<string>;
    defaultActiveView: {
        type: PropType<string>;
        default: string;
    };
    modelValue: {
        type: PropType<Date | SelectionRange | Date[]>;
        default: any;
    };
    defaultValue: {
        type: PropType<Date | SelectionRange | Date[]>;
        default: any;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    focusedDate: PropType<Date>;
    id: {
        type: PropType<string>;
        default: () => any;
    };
    headerTitle: PropType<any>;
    max: {
        type: PropType<Date>;
        default: () => Date;
    };
    min: {
        type: PropType<Date>;
        default: () => Date;
    };
    mode: () => CalendarMode;
    navigation: {
        type: PropType<boolean>;
        default: boolean;
    };
    tabIndex: PropType<number>;
    value: PropType<Date | SelectionRange | Date[]>;
    views: {
        type: PropType<number>;
        default: number;
    };
    weekNumber: PropType<boolean>;
    weekCell: PropType<any>;
    topView: {
        type: PropType<string>;
        default: string;
    };
    bottomView: {
        type: PropType<string>;
        default: string;
    };
    onFocus: PropType<(event: any) => void>;
    onBlur: PropType<(event: any) => void>;
    onChange: PropType<(event: CalendarChangeEvent) => void>;
    onKeydown: PropType<(event: any) => void>;
}>, {
    kendoIntlService: {};
}, {
    valueDuringOnChange: any;
    currentFocusedDate: any;
    currentActiveView: any;
    currentValue: any;
    cellUID: any;
    isActive: boolean;
    oldValue: any;
    didNavigationChange: boolean;
    currentActiveRangeEnd: any;
}, {
    activeRange(): CalendarComputed['activeRange'];
    currentMin(): CalendarComputed['currentMin'];
    currentMax(): CalendarComputed['currentMax'];
}, {
    element(): any;
    computedValue(): Date | null;
    focus(): void;
    handleBlur(): void;
    handleFocus(): void;
    emitBlur(event: any): void;
    emitFocus(event: any): void;
    handleTodayClick(event: NavigationEventArguments): void;
    handleViewChange({ view }: {
        view: CalendarViewEnum;
    }): void;
    handlePrevClick(event: ViewListEventArguments): void;
    handleTitleClick(): void;
    handleNextClick(event: ViewListEventArguments): void;
    handleCellEnter(value: Date): void;
    generateRange(candidate: Date, value: SelectionRange): SelectionRange;
    clampRange(value: Date): SelectionRange;
    handleWeekCellClick(event: ViewWeekCellEventArguments): void;
    handleWeekNameClick(event: ViewWeekNameEventArguments): void;
    handleDateChange(event: ViewListEventArguments): void;
    triggerChange(value: Date, event: ViewListEventArguments): void;
    handleMouseDown(event: ViewListEventArguments): void;
    tableKeyDown(event: any): void;
    isValueEqual(newValue: Date | Date[] | SelectionRange | null, oldValue: Date | Date[] | SelectionRange | null): boolean;
    rangeWithFocused(range: SelectionRange, focusedDate: SelectionRange): SelectionRange;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    activeRangeEnd: {
        type: PropType<import('../models/SelectionRangeEnd').SelectionRangeEnd>;
        default: any;
    };
    allowReverse: {
        type: PropType<boolean>;
        default: boolean;
    };
    cell: PropType<any>;
    className: PropType<string>;
    defaultActiveView: {
        type: PropType<string>;
        default: string;
    };
    modelValue: {
        type: PropType<Date | SelectionRange | Date[]>;
        default: any;
    };
    defaultValue: {
        type: PropType<Date | SelectionRange | Date[]>;
        default: any;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    focusedDate: PropType<Date>;
    id: {
        type: PropType<string>;
        default: () => any;
    };
    headerTitle: PropType<any>;
    max: {
        type: PropType<Date>;
        default: () => Date;
    };
    min: {
        type: PropType<Date>;
        default: () => Date;
    };
    mode: () => CalendarMode;
    navigation: {
        type: PropType<boolean>;
        default: boolean;
    };
    tabIndex: PropType<number>;
    value: PropType<Date | SelectionRange | Date[]>;
    views: {
        type: PropType<number>;
        default: number;
    };
    weekNumber: PropType<boolean>;
    weekCell: PropType<any>;
    topView: {
        type: PropType<string>;
        default: string;
    };
    bottomView: {
        type: PropType<string>;
        default: string;
    };
    onFocus: PropType<(event: any) => void>;
    onBlur: PropType<(event: any) => void>;
    onChange: PropType<(event: CalendarChangeEvent) => void>;
    onKeydown: PropType<(event: any) => void>;
}>> & Readonly<{}>, {
    id: string;
    disabled: boolean;
    navigation: boolean;
    max: Date;
    min: Date;
    activeRangeEnd: import('../models/SelectionRangeEnd').SelectionRangeEnd;
    defaultValue: Date | SelectionRange | Date[];
    allowReverse: boolean;
    views: number;
    modelValue: Date | SelectionRange | Date[];
    defaultActiveView: string;
    topView: string;
    bottomView: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { Calendar };
