/** * @license * Copyright 2023 Google Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveController, ReactiveControllerHost } from 'lit'; import { CalendarController } from '../interfaces/index.js'; import { DatePickerHost } from '../interfaces/base-controller.interface.js'; import { INavigationDate, IDayPresentation } from '../datepicker.types.js'; /** * Calendar controller for managing calendar display and navigation * Handles month/year navigation, day generation, and calendar state */ export declare class DatePickerCalendarController implements CalendarController, ReactiveController { readonly host: ReactiveControllerHost & DatePickerHost; navigationDates: INavigationDate; daysPresentation: IDayPresentation[]; constructor(host: ReactiveControllerHost & DatePickerHost, initialDate?: Date); hostConnected(): void; hostDisconnected(): void; /** * Navigate to specific month and year */ navigateToMonth(year: number, month: number): void; /** * Navigate to previous month */ navigateToPreviousMonth(): void; /** * Navigate to next month */ navigateToNextMonth(): void; /** * Navigate to previous year */ navigateToPreviousYear(): void; /** * Navigate to next year */ navigateToNextYear(): void; /** * Get current month days presentation */ getCurrentMonthDays(): IDayPresentation[]; /** * Check if date is in current month */ isDateInCurrentMonth(date: Date): boolean; /** * Check if date is today */ isDateToday(date: Date): boolean; /** * Check if date is selected */ isDateSelected(date: Date): boolean; /** * Check if date is disabled */ isDateDisabled(date: Date): boolean; /** * Check if date is in range (for range picker) */ isDateInRange(_date: Date): boolean; /** * Generate calendar days for given month and year */ generateCalendarDays(year: number, month: number): IDayPresentation[]; /** * Update calendar display with current navigation dates */ updateCalendarDisplay(): void; /** * Handle errors that occur within the controller */ handleError(error: Error, context: string): void; } //# sourceMappingURL=calendar.controller.d.ts.map