import { MLinkMode } from '../../../link/link';
import { DayState, MonthState, YearState } from '../../calendar-state/state/calendar-state';
import { MAbstractCalendarRenderer } from './../abstract-calendar-renderer';
import './base-calendar.scss';
export declare enum MBaseCalendarView {
    DAYS = "days",
    YEARS_MONTHS = "years-months"
}
export declare enum MBaseCalendarType {
    FULL_DATE = "full-date",
    YEARS_MONTHS = "years-months"
}
export default class MBaseCalendar extends MAbstractCalendarRenderer {
    initialView: MBaseCalendarView;
    showMonthBeforeAfter: boolean;
    monthsNames: string[];
    monthsNamesLong: string[];
    daysNames: string[];
    type: MBaseCalendarType;
    visible: boolean;
    mBaseCalendarView: typeof MBaseCalendarView;
    previousMonthLabel: string;
    nextMonthLabel: string;
    previousYearLabel: string;
    nextYearLabel: string;
    id: string;
    $refs: {
        body: HTMLElement;
        yearsMonthsView: HTMLElement;
    };
    modeLinkCurrentMonthAndYear: MLinkMode;
    animReady: boolean;
    private internalCurrentView;
    visibleChanged(visible: boolean): void;
    protected created(): void;
    onToogleView(): void;
    onYearMonthSelect(year: YearState, month: MonthState): void;
    onYearMonthSelectKeyup($event: KeyboardEvent, year: YearState, month: MonthState): void;
    onYearNext(event: Event): void;
    onYearPrevious(event: Event): void;
    onMonthNext(event: Event): void;
    onMonthPrevious(event: Event): void;
    onDaySelect(day: DayState): void;
    onDayMouseEnter(day: DayState): void;
    onKeyUp($event: KeyboardEvent, day: DayState): void;
    onDayMouseLeave(day: DayState): void;
    isDateInFuture(day: DayState): boolean;
    isInsideRange(day: DayState): boolean;
    isSelectionStart(day: DayState): boolean;
    isSelectionEnd(day: DayState): boolean;
    hideDay(day: DayState): boolean;
    buildRef(refPrefix: MBaseCalendarView, year: number, month: number, day?: number): string;
    monthIndexToShortName(index: number): string;
    scrollToCurrentYear(): void;
    currentView: MBaseCalendarView;
    readonly isTypeYearsMonths: boolean;
    readonly currentYear: number;
    readonly currentMonth: number;
    readonly currentMonthName: string;
    readonly weekdaysLabels: string[];
    readonly years: {};
    readonly yearsMonths: {};
    readonly months: {};
    readonly days: {};
    readonly isYearsMonthsView: boolean;
    readonly isDaysView: boolean;
    readonly isMinYear: boolean;
    readonly isMaxYear: boolean;
    readonly isMinMonth: boolean;
    readonly isMaxMonth: boolean;
    readonly isMaxRow: boolean;
    readonly isButtonToogleViewDisabled: boolean;
    private padString;
}
//# sourceMappingURL=base-calendar.d.ts.map