import { PropType } from 'vue';
import { DatePickerOptions } from '../DatePicker/DatePicker.model';
import { Size } from '../../../types';
type InputCalendarValue = Date | Date[] | {
    start: Date | null;
    end: Date | null;
} | null;
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    label: {
        type: StringConstructor;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    description: {
        type: StringConstructor;
        default: string;
    };
    instructions: {
        type: StringConstructor;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: PropType<string[]>;
        default: () => never[];
    };
    dateFormat: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<Size>;
        default: Size;
    };
    availableDates: {
        type: PropType<([Date, Date] | Date)[]>;
        default: () => never[];
    };
    options: {
        type: PropType<Partial<DatePickerOptions>>;
        default: () => {};
    };
    months: {
        type: PropType<1 | 2>;
        default: number;
        validator: (value: number) => value is 1 | 2;
    };
    modelValue: {
        type: PropType<InputCalendarValue>;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (...args: unknown[]) => any;
    change: (value: InputCalendarValue) => any;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    label: {
        type: StringConstructor;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    description: {
        type: StringConstructor;
        default: string;
    };
    instructions: {
        type: StringConstructor;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: PropType<string[]>;
        default: () => never[];
    };
    dateFormat: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<Size>;
        default: Size;
    };
    availableDates: {
        type: PropType<([Date, Date] | Date)[]>;
        default: () => never[];
    };
    options: {
        type: PropType<Partial<DatePickerOptions>>;
        default: () => {};
    };
    months: {
        type: PropType<1 | 2>;
        default: number;
        validator: (value: number) => value is 1 | 2;
    };
    modelValue: {
        type: PropType<InputCalendarValue>;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: unknown[]) => any) | undefined;
    onChange?: ((value: InputCalendarValue) => any) | undefined;
}>, {
    error: string[];
    label: string;
    disabled: boolean;
    size: Size;
    placeholder: string;
    description: string;
    options: Partial<DatePickerOptions>;
    instructions: string;
    availableDates: (Date | [Date, Date])[];
    months: 1 | 2;
    dateFormat: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
    control: HTMLInputElement;
}, any>;
export default _default;
