import { AfterContentInit, ChangeDetectorRef, EventEmitter } from '@angular/core'; import { DateAdapter } from '@koobiq/components/core'; import { KbqCalendarBody, KbqCalendarCell, KbqCalendarCellCssClasses } from './calendar-body.component'; import * as i0 from "@angular/core"; /** * An internal component used to display a single month in the datepicker. * @docs-private */ export declare class KbqMonthView implements AfterContentInit { private changeDetectorRef; adapter: DateAdapter; /** * The date to display in this month view (everything other than the month and year is ignored). */ get activeDate(): D; set activeDate(value: D); private _activeDate; /** The currently selected date. */ get selected(): D | null; set selected(value: D | null); private _selected; /** The minimum selectable date. */ minDate: D | null; /** The maximum selectable date. */ maxDate: D | null; /** Function used to filter which dates are selectable. */ dateFilter: (date: D) => boolean; /** Function that can be used to add custom CSS classes to dates. */ dateClass: (date: D) => KbqCalendarCellCssClasses; /** Emits when a new date is selected. */ readonly selectedChange: EventEmitter; /** Emits when any date is selected. */ readonly userSelection: EventEmitter; /** Emits when any date is activated. */ readonly activeDateChange: EventEmitter; /** The body of calendar table */ kbqCalendarBody: KbqCalendarBody; /** Grid of calendar cells representing the dates of the month. */ weeks: KbqCalendarCell[][]; /** The number of blank cells in the first row before the 1st of the month. */ firstWeekOffset: number; /** * The date of the month that the currently selected Date falls on. * Null if the currently selected Date is in another month. */ selectedDate: number | null; /** The date of the month that today falls on. Null if today is in another month. */ todayDate: number | null; /** The names of the weekdays. */ weekdays: { long: string; narrow: string; }[]; constructor(changeDetectorRef: ChangeDetectorRef, adapter: DateAdapter); ngAfterContentInit(): void; /** Handles when a new date is selected. */ dateSelected(date: number): void; /** Initializes this month view. */ init(): void; /** Creates KbqCalendarCells for the dates in this month. */ private createWeekCells; /** Date filter for the month */ private shouldEnableDate; /** * Gets the date in this month that the given Date falls on. * Returns null if the given Date is in another month. */ private getDateInCurrentMonth; /** Checks whether the 2 dates are non-null and fall within the same month of the same year. */ private hasSameMonthAndYear; static ɵfac: i0.ɵɵFactoryDeclaration, [null, { optional: true; }]>; static ɵcmp: i0.ɵɵComponentDeclaration, "kbq-month-view", ["kbqMonthView"], { "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; }, { "selectedChange": "selectedChange"; "userSelection": "userSelection"; "activeDateChange": "activeDateChange"; }, never, never, true, never>; }