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 {
    readonly value: SingleDate | RangeDate;
    readonly mode: CalendarMode;
    readonly type: MBaseCalendarType;
    readonly minDate: string;
    readonly maxDate: string;
    readonly showMonthBeforeAfter: string;
    readonly visible: boolean;
    readonly initialView: MBaseCalendarView;
    innerValue: SingleDate | RangeDate;
    id: string;
    refreshValue(): void;
    protected 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