import { EventEmitter } from "@angular/core";
import { CoreComponentsIcon } from "../../core/enum/core-components-icon.enum";
export declare class CalendarTemplateComponent {
    readonly icons: typeof CoreComponentsIcon;
    showWeekNumbers: boolean;
    weekNumbers: number[];
    locale: string;
    highlightDaysBetweenDates: boolean;
    showButtons: boolean;
    doubleCalendar: boolean;
    set selectedDate(value: Date | string | number | null | undefined);
    get selectedDate(): Date | null;
    set secondSelectedDate(value: Date | string | number | null | undefined);
    get secondSelectedDate(): Date | null;
    set secondHoveringDate(value: Date | string | number | null | undefined);
    private _coerceToDate;
    dateSelected: EventEmitter<Date>;
    secondDateSelected: EventEmitter<Date>;
    hoveringDate: EventEmitter<Date>;
    clickedOutside: EventEmitter<void>;
    clearDates: EventEmitter<void>;
    showCalendarBody: boolean;
    showMonthSelection: boolean;
    showYearSelection: boolean;
    showSelectedMonth: string;
    workingDay: Date;
    workingYear: number;
    workingMonth: number;
    monthHeader: string;
    yearHeader: string;
    monthSelection: boolean;
    yearSelection: boolean;
    dayNames: any[];
    monthNames: any[];
    monthSelectionNames: string[];
    yearSelectionYears: number[];
    daysInMonth: Date[];
    daysUnixTimestamps: number[];
    daysToHighlight: Date[];
    temporarySelectedSecondaryDate: Date;
    private _secondHoveringDate;
    private _secondSelectedDate;
    private _selectedDate;
    private _initialSelectedDate;
    showClass(): boolean;
    ngOnInit(): void;
    prevMonth(): void;
    nextMonth(): void;
    prevYear(): void;
    nextYear(): void;
    generateCalendar(): void;
    private _setInitialValues;
    private _setMonthDaysForDate;
    generateYearSelectionYears(): void;
    openMonthSelection(): void;
    openYearSelection(): void;
    selectDate(day: Date): void;
    selectMonth(month: string): void;
    selectYear(year: number): void;
    generateMonthNames(): void;
    handleMouseOverDay(day: Date): void;
    private _fillDatesBetweenSelected;
    private _capitalizeFirstLetter;
    private calculateWeekNumbers;
    getISOWeek(date: Date): number;
    setAndClose(): void;
    clearDate(): void;
    closeDate(): void;
    private closePopup;
}
