import { EventEmitter, SimpleChanges, TemplateRef } from '@angular/core'; import { Week } from './week.model'; import { DayOfWeek } from './day-of-week.model'; import { DatepickerConfig } from './datepicker-config.model'; import { DatepickerAdapter } from './datepicker-adapter'; import { DefaultDatepickerAdapter } from './default-datepicker-adapter'; import { Month } from './month.model'; import { Year } from './year.model'; import * as i0 from "@angular/core"; export declare abstract class DatepickerBaseComponent { private readonly _locale; private readonly _defaultConfig; private readonly datepickerAdapter; private readonly _totalDaysOfWeek; private readonly _yearsGroupsCount; private readonly _yearsPerGroup; readonly weekDayNames: string[]; readonly totalVisibleYears: number; private readonly monthsPerGroup; private _minYear; private _minMonth; private _maxYear; private _maxMonth; weeks: Week[]; yearGroups: Year[][]; monthGroups: Month[][]; currentMonth: Month; baseYear: number; firstDayOfWeek: number; dayTemplate: TemplateRef | null; datepickerTitle: string; hideHeader: boolean; hideClear: boolean; clearLabel: string | null; currentMonthChange: EventEmitter; _min: Date | null; _max: Date | null; get min(): Date | null; set min(value: Date | null); get max(): Date | null; set max(value: Date | null); date: Date | null; dateChange: EventEmitter; formattedDate: string | null; constructor(_locale: string, _defaultConfig: DatepickerConfig, datepickerAdapter: DatepickerAdapter, defaultDatepickerAdapter: DefaultDatepickerAdapter); setYearGroups(baseYear: number): void; private _setInnerConfig; private _setMonthGroups; setYear(year: number): void; setMonth(month: Month): void; protected _setDate(date: Date | null): void; private getMonth; private _addToCurrentMonth; private _getCurrentMonthInitialDate; private _getInitialDateForCurrentMonth; private _setCurrentMonth; showNextMonth(): void; showPreviousMonth(): void; private _isDayDisabled; private _setDaysDisabled; private _isMonthDisabled; private _setMonthsDisabled; private _isYearDisabled; private _setYearsDisabled; selectDate(date: Date | null): void; private _datesAreEqual; isEqualToSelectedDate(date: Date): boolean | null; isEqualToTodayDate(date: Date): boolean; trackByWeek(index: number, week: Week): number; trackByDay(index: number, day: DayOfWeek): number; ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }