import { AfterContentInit, EventEmitter, ChangeDetectorRef } from '@angular/core'; import { DateAdapter } from '../datetime/date-adapter'; import { Directionality } from '@angular/cdk/bidi'; import { D } from '../datetime/date-formats'; import { CalendarBodyComponent, HcCalendarCell } from '../calendar-body/calendar-body.component'; export declare const yearsPerPage = 24; export declare const yearsPerRow = 4; export declare class MultiYearViewComponent implements AfterContentInit { private _changeDetectorRef; _dateAdapter: DateAdapter; private _dir?; /** The date to display in this multi-year view (everything other than the year is ignored). */ activeDate: D; private _activeDate; /** The currently selected date. */ selected: D | null; private _selected; /** The minimum selectable date. */ minDate: D | null; private _minDate; /** The maximum selectable date. */ maxDate: D | null; private _maxDate; /** A function used to filter which dates are selectable. */ dateFilter: (date: D) => boolean; /** Emits when a new year is selected. */ readonly selectedChange: EventEmitter; /** Emits the selected year. This doesn't imply a change on the selected date */ readonly yearSelected: EventEmitter; /** Emits when any date is activated. */ readonly activeDateChange: EventEmitter; /** The body of calendar table */ _hcCalendarBody: CalendarBodyComponent; /** Grid of calendar cells representing the currently displayed years. */ _years: HcCalendarCell[][]; /** The year that today falls on. */ _todayYear: number; /** The year of the selected date. Null if the selected date is null. */ _selectedYear: number | null; constructor(_changeDetectorRef: ChangeDetectorRef, _dateAdapter: DateAdapter, _dir?: Directionality | undefined); ngAfterContentInit(): void; /** Initializes this multi-year view. */ _init(): void; /** Handles when a new year is selected. */ _yearSelected(year: number): void; /** Handles keydown events on the calendar body when calendar is in multi-year view. */ _handleCalendarBodyKeydown(event: KeyboardEvent): void; _getActiveCell(): number; /** Focuses the active cell after the microtask queue is empty. */ _focusActiveCell(): void; /** Creates an hcCalendarCell for the given year. */ private _createCellForYear; /** Whether the given year is enabled. */ private _shouldEnableYear; /** * @param obj The object to check. * @returns The given object if it is both a date instance and valid, otherwise null. */ private _getValidDateOrNull; /** Determines whether the user has the RTL layout direction. */ private _isRtl; }