/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { FormComponentValidity } from '@progress/kendo-vue-common';
import { DateInputChangeEvent } from '../dateinput/interfaces/DateInputEventArguments';
import { CalendarChangeEvent } from '../calendar/components/interfaces/CalendarEventArguments';
import { DatePickerProps } from './interfaces/DatePickerProps';
import { DatePickerChangeEvent, DatePickerOpenEvent, DatePickerCloseEvent } from './interfaces/DatePickerEventArguments';
import { DatePickerFocusEvent, DatePickerBlurEvent } from './interfaces/DatePickerFocusBlurEvents';
import { PropType } from 'vue';
/**
 * @hidden
 */
declare const DatePicker: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    defaultShow: {
        type: PropType<boolean>;
        default: boolean;
    };
    modelValue: {
        type: PropType<Date>;
        default: any;
    };
    defaultValue: {
        type: PropType<Date>;
        default: any;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    dateInput: {
        type: PropType<any>;
        default: () => any;
    };
    calendar: {
        type: PropType<any>;
        default: () => any;
    };
    toggleButton: {
        type: PropType<any>;
        default: () => any;
    };
    label: PropType<string>;
    placeholder: PropType<string>;
    popup: {
        type: PropType<any>;
        default: () => any;
    };
    rounded: {
        type: PropType<string>;
        validator: (value: string) => boolean;
    };
    fillMode: {
        type: PropType<string>;
        validator: (value: string) => boolean;
    };
    size: {
        type: PropType<"small" | "medium" | "large">;
        validator: (value: string) => boolean;
    };
    focusedDate: PropType<Date>;
    format: {
        type: PropType<string | import('@progress/kendo-vue-intl').DateFormatOptions>;
        default: () => string | object;
    };
    formatPlaceholder: PropType<import('..').DateInputFormatPlaceholder>;
    id: PropType<string>;
    max: {
        type: PropType<Date>;
        default: () => Date;
    };
    min: {
        type: PropType<Date>;
        default: () => Date;
    };
    name: PropType<string>;
    popupSettings: {
        type: PropType<import('../PopupSettings').DateInputsPopupSettings>;
        default: () => {};
    };
    show: {
        type: PropType<boolean>;
        default: any;
    };
    tabIndex: {
        type: PropType<number>;
        default: number;
    };
    title: {
        type: PropType<string>;
        default: () => "";
    };
    value: PropType<Date>;
    weekNumber: PropType<boolean>;
    width: PropType<string | number>;
    validityStyles: {
        type: PropType<boolean>;
        default: boolean;
    };
    validationMessage: PropType<string>;
    required: PropType<boolean>;
    validate: PropType<boolean>;
    valid: {
        type: PropType<boolean>;
        default: any;
    };
    ariaLabel: PropType<string>;
    inputAttributes: PropType<Object>;
}>, {
    listRef: import('vue').Ref<any, any>;
    kendoAnchorRef: import('vue').Ref<any, any>;
    kendoLocalizationService: {};
}, {
    isFocused: boolean;
    currentValue: any;
    currentShow: any;
    valueDuringOnChange: any;
    showDuringOnChange: any;
    shouldFocusDateInput: boolean;
}, {
    computedValue(): Date | null;
    computedShow(): boolean;
}, {
    focus(): void;
    handleFocus(event: FocusEvent): void;
    handleBlur(event: FocusEvent): void;
    calendarBlur(event: FocusEvent): void;
    calendarFocus(event: FocusEvent): void;
    createBlurTimeout(): void;
    validity(): FormComponentValidity;
    nextValue(nextProps: DatePickerProps, nextState: any): any;
    nextShow(nextProps: DatePickerProps, nextState: any): any;
    setShow(show: boolean): void;
    mergeTime(value: Date | null): Date | null;
    handleInputValueChange(event: DateInputChangeEvent): void;
    handleCalendarValueChange(event: CalendarChangeEvent): void;
    getDateInputText(): any;
    handleValueChange(value: Date | null, event: DateInputChangeEvent | CalendarChangeEvent): void;
    handleIconClick(event: any): void;
    handleIconMouseDown(event: any): void;
    handleKeyDown(event: any): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    change: (event: DatePickerChangeEvent) => true;
    changemodel: (value: Date | null) => true;
    'update:modelValue': (value: Date | null) => true;
    iconclick: (event: Event) => true;
    focus: (event: DatePickerFocusEvent) => true;
    blur: (event: DatePickerBlurEvent) => true;
    keydown: (event: KeyboardEvent) => true;
    open: (event: DatePickerOpenEvent) => true;
    close: (event: DatePickerCloseEvent) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    defaultShow: {
        type: PropType<boolean>;
        default: boolean;
    };
    modelValue: {
        type: PropType<Date>;
        default: any;
    };
    defaultValue: {
        type: PropType<Date>;
        default: any;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    dateInput: {
        type: PropType<any>;
        default: () => any;
    };
    calendar: {
        type: PropType<any>;
        default: () => any;
    };
    toggleButton: {
        type: PropType<any>;
        default: () => any;
    };
    label: PropType<string>;
    placeholder: PropType<string>;
    popup: {
        type: PropType<any>;
        default: () => any;
    };
    rounded: {
        type: PropType<string>;
        validator: (value: string) => boolean;
    };
    fillMode: {
        type: PropType<string>;
        validator: (value: string) => boolean;
    };
    size: {
        type: PropType<"small" | "medium" | "large">;
        validator: (value: string) => boolean;
    };
    focusedDate: PropType<Date>;
    format: {
        type: PropType<string | import('@progress/kendo-vue-intl').DateFormatOptions>;
        default: () => string | object;
    };
    formatPlaceholder: PropType<import('..').DateInputFormatPlaceholder>;
    id: PropType<string>;
    max: {
        type: PropType<Date>;
        default: () => Date;
    };
    min: {
        type: PropType<Date>;
        default: () => Date;
    };
    name: PropType<string>;
    popupSettings: {
        type: PropType<import('../PopupSettings').DateInputsPopupSettings>;
        default: () => {};
    };
    show: {
        type: PropType<boolean>;
        default: any;
    };
    tabIndex: {
        type: PropType<number>;
        default: number;
    };
    title: {
        type: PropType<string>;
        default: () => "";
    };
    value: PropType<Date>;
    weekNumber: PropType<boolean>;
    width: PropType<string | number>;
    validityStyles: {
        type: PropType<boolean>;
        default: boolean;
    };
    validationMessage: PropType<string>;
    required: PropType<boolean>;
    validate: PropType<boolean>;
    valid: {
        type: PropType<boolean>;
        default: any;
    };
    ariaLabel: PropType<string>;
    inputAttributes: PropType<Object>;
}>> & Readonly<{
    onBlur?: (event: DatePickerBlurEvent) => any;
    onChange?: (event: DatePickerChangeEvent) => any;
    onClose?: (event: DatePickerCloseEvent) => any;
    onFocus?: (event: DatePickerFocusEvent) => any;
    onKeydown?: (event: KeyboardEvent) => any;
    onOpen?: (event: DatePickerOpenEvent) => any;
    onChangemodel?: (value: Date) => any;
    "onUpdate:modelValue"?: (value: Date) => any;
    onIconclick?: (event: Event) => any;
}>, {
    title: string;
    tabIndex: number;
    calendar: any;
    popup: any;
    disabled: boolean;
    format: string | object;
    max: Date;
    min: Date;
    defaultValue: Date;
    show: boolean;
    popupSettings: import('../PopupSettings').DateInputsPopupSettings;
    modelValue: Date;
    validityStyles: boolean;
    valid: boolean;
    defaultShow: boolean;
    dateInput: any;
    toggleButton: any;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { DatePicker };
