import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { MBaseCalendarType, MBaseCalendarView } from '../calendar/calendar-renderer/base-calendar/base-calendar';
import { InternalCleaveOptions, MInputMask } from '../input-mask/input-mask';
export declare type DatePickerSupportedTypes = Date | string | undefined;
export declare enum MDatepickerDefaultView {
    Month = "month",
    Day = "day"
}
export declare class MDatepicker extends ModulVue {
    value: DatePickerSupportedTypes;
    label: string;
    initialView: MBaseCalendarView;
    type: MBaseCalendarType;
    min: DatePickerSupportedTypes;
    max: DatePickerSupportedTypes;
    placeholder: string;
    maxWidth: string;
    hideInternalErrorMessage: boolean;
    skipInputValidation: boolean;
    id: string;
    $refs: {
        input: MInputMask;
    };
    private internalOpen;
    private internalCalendarErrorMessage;
    private inputModel;
    private internalDateModel;
    protected created(): void;
    readonly inputOptions: InternalCleaveOptions;
    readonly isTypeYearsMonths: boolean;
    readonly propPlaceholder: string;
    readonly formattedDate: string;
    readonly hasCalandarError: boolean;
    readonly calandarErrorMessage: string;
    open: boolean;
    readonly minDateString: string;
    readonly maxDateString: string;
    private readonly minModulDate;
    private readonly maxModulDate;
    private readonly maxInputLenght;
    private readonly isLessThanTablet;
    onOpen(): Promise<void>;
    onClose(): Promise<void>;
    private emitBlur;
    private emitClick;
    private emitKeydown;
    private onSkipInputValidationChangement;
    selectDate(selectedDate: DatePickerSupportedTypes): Promise<void>;
    inputDate(inputValue: string): void;
    private onValueChange;
    model: string;
    readonly hasValue: boolean;
    togglePopup(event: Event): void;
    emitChange(): void;
    onKeydown(event: KeyboardEvent): void;
    readonly hasErrorMessage: boolean;
    onFocus(event: FocusEvent): void;
    onClick(event: MouseEvent): void;
    onBlur(event: Event): void;
    readonly isFocus: boolean;
    private convertValueToModel;
    private validateDateFormat;
    private convertStringToModel;
    private convertModelToString;
    private clearErrorMessage;
    private showErrorMessage;
}
declare const DatepickerPlugin: PluginObject<any>;
export default DatepickerPlugin;
//# sourceMappingURL=datepicker.d.ts.map