/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { IntlService } from '@progress/kendo-vue-intl';
import { Selection, DateInputFormatPlaceholder } from './models/main';
import { FormComponentValidity } from '@progress/kendo-vue-common';
import { DateInputChangeEvent } from './interfaces/DateInputEventArguments';
import { DateInputFocusEvent } from './interfaces/DateInputFocusEvent';
import { DateInputBlurEvent } from './interfaces/DateInputBlurEvent';
import { PropType } from 'vue';
/**
 * @hidden
 */
declare const DateInput: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    modelValue: PropType<Date>;
    value: PropType<Date>;
    defaultValue: PropType<Date>;
    format: {
        type: PropType<string | import('@progress/kendo-vue-intl').DateFormatOptions>;
        default: () => string | object;
    };
    formatPlaceholder: {
        type: PropType<DateInputFormatPlaceholder>;
        default: () => DateInputFormatPlaceholder;
    };
    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;
    };
    tabIndex: PropType<number>;
    title: PropType<string>;
    steps: PropType<import('./models/incremental-steps').DateInputIncrementalSteps>;
    placeholder: PropType<string>;
    max: {
        type: PropType<Date>;
        default: () => Date;
    };
    min: {
        type: PropType<Date>;
        default: () => Date;
    };
    maxTime: {
        type: PropType<Date>;
        default: () => Date;
    };
    minTime: {
        type: PropType<Date>;
        default: () => Date;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    spinners: {
        type: PropType<boolean>;
        default: boolean;
    };
    name: PropType<string>;
    dir: PropType<string>;
    label: PropType<string>;
    id: PropType<string>;
    validationMessage: {
        type: PropType<string>;
        default: string;
    };
    required: {
        type: PropType<boolean>;
        default: boolean;
    };
    validityStyles: {
        type: PropType<boolean>;
        default: boolean;
    };
    validate: PropType<boolean>;
    valid: {
        type: PropType<boolean>;
        default: any;
    };
    ariaRole: {
        type: PropType<string>;
        default: any;
    };
    ariaControls: PropType<string>;
    ariaLabel: PropType<string>;
    ariaExpanded: {
        type: PropType<boolean>;
        default: any;
    };
    ariaHasPopup: {
        type: PropType<String>;
        default: any;
    };
    inputAttributes: PropType<Object>;
}>, {
    inputRef: import('vue').Ref<any, any>;
    kendoIntlService: {};
    kendoLocalizationService: {};
}, {
    kendoDate: any;
    currentFormat: any;
    valueDuringOnChange: any;
    hasMounted: boolean;
    isEmpty: any;
    lastSelectedSymbol: any;
    isFocused: boolean;
}, {
    computedValue(): Date | null;
    wrapperClassNames(): object;
}, {
    selection(): Selection;
    element(): HTMLInputElement | null;
    focus(e: any): void;
    handleFocus(e: FocusEvent): void;
    handleBlur(e: FocusEvent): void;
    intl(): IntlService;
    setValidity(): void;
    spinnersMouseDown(event: any): void;
    elementChange(event: any): void;
    elementClick(_: any): void;
    wheel(event: any): void;
    increasePart(event: any): void;
    decreasePart(event: any): void;
    elementKeyDown(event: any): void;
    setSelection(selection: Selection): void;
    triggerChange(event: any, oldValue: Date | null): void;
    selectionBySymbol(symbol: string): Selection;
    selectionByIndex(index: number): Selection;
    switchDateSegment(offset: number): void;
    modifyDateSegmentValue(offset: number, event: any): void;
    validity(): FormComponentValidity;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    change: (event: DateInputChangeEvent) => true;
    changemodel: (value: Date | null) => true;
    'update:modelValue': (value: Date | null) => true;
    focus: (event: DateInputFocusEvent) => true;
    blur: (event: DateInputBlurEvent) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    modelValue: PropType<Date>;
    value: PropType<Date>;
    defaultValue: PropType<Date>;
    format: {
        type: PropType<string | import('@progress/kendo-vue-intl').DateFormatOptions>;
        default: () => string | object;
    };
    formatPlaceholder: {
        type: PropType<DateInputFormatPlaceholder>;
        default: () => DateInputFormatPlaceholder;
    };
    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;
    };
    tabIndex: PropType<number>;
    title: PropType<string>;
    steps: PropType<import('./models/incremental-steps').DateInputIncrementalSteps>;
    placeholder: PropType<string>;
    max: {
        type: PropType<Date>;
        default: () => Date;
    };
    min: {
        type: PropType<Date>;
        default: () => Date;
    };
    maxTime: {
        type: PropType<Date>;
        default: () => Date;
    };
    minTime: {
        type: PropType<Date>;
        default: () => Date;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    spinners: {
        type: PropType<boolean>;
        default: boolean;
    };
    name: PropType<string>;
    dir: PropType<string>;
    label: PropType<string>;
    id: PropType<string>;
    validationMessage: {
        type: PropType<string>;
        default: string;
    };
    required: {
        type: PropType<boolean>;
        default: boolean;
    };
    validityStyles: {
        type: PropType<boolean>;
        default: boolean;
    };
    validate: PropType<boolean>;
    valid: {
        type: PropType<boolean>;
        default: any;
    };
    ariaRole: {
        type: PropType<string>;
        default: any;
    };
    ariaControls: PropType<string>;
    ariaLabel: PropType<string>;
    ariaExpanded: {
        type: PropType<boolean>;
        default: any;
    };
    ariaHasPopup: {
        type: PropType<String>;
        default: any;
    };
    inputAttributes: PropType<Object>;
}>> & Readonly<{
    onBlur?: (event: DateInputBlurEvent) => any;
    onChange?: (event: DateInputChangeEvent) => any;
    onFocus?: (event: DateInputFocusEvent) => any;
    onChangemodel?: (value: Date) => any;
    "onUpdate:modelValue"?: (value: Date) => any;
}>, {
    required: boolean;
    disabled: boolean;
    format: string | object;
    max: Date;
    min: Date;
    validationMessage: string;
    maxTime: Date;
    minTime: Date;
    spinners: boolean;
    validityStyles: boolean;
    valid: boolean;
    ariaRole: string;
    ariaExpanded: boolean;
    ariaHasPopup: String;
    formatPlaceholder: DateInputFormatPlaceholder;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { DateInput };
