import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { MBaseCalendarType, MBaseCalendarView } from './calendar-renderer/base-calendar/base-calendar';
import { RangeDate, SingleDate } from './calendar-state/state/abstract-calendar-state';
export declare enum CalendarMode {
    SINGLE_DATE = "single-date",
    DATE_RANGE = "date-range"
}
export declare enum MCalendarType {
    FullDate = "full-date",
    YearsMonths = "years-months"
}
export declare class MCalendar extends ModulVue {
    value: SingleDate | RangeDate;
    mode: CalendarMode;
    type: MBaseCalendarType;
    minDate: string;
    maxDate: string;
    showMonthBeforeAfter: string;
    visible: boolean;
    initialView: MBaseCalendarView;
    innerValue: SingleDate | RangeDate;
    id: string;
    refreshValue(): void;
    created(): void;
    onInput(): SingleDate | RangeDate;
    get isSingleDate(): boolean;
    get isDateRange(): boolean;
    validateInputModel(): void;
}
declare const CalendarPlugin: PluginObject<any>;
export default CalendarPlugin;
//# sourceMappingURL=calendar.d.ts.map