/** * @license * Copyright 2023 Google Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveController, ReactiveControllerHost } from 'lit'; import { DateSelectionController } from '../interfaces/index.js'; import { DatePickerHost } from '../interfaces/base-controller.interface.js'; /** * Date selection controller for managing date selection logic * Handles single date, date range, and multiple date selections */ export declare class DatePickerSelectionController implements DateSelectionController, ReactiveController { readonly host: ReactiveControllerHost & DatePickerHost; private selectedDates; private selectedRange; constructor(host: ReactiveControllerHost & DatePickerHost); hostConnected(): void; hostDisconnected(): void; /** * Initialize selection state from host value */ private initializeFromHostValue; /** * Select a single date */ selectDate(date: Date): void; /** * Handle range selection logic */ private handleRangeSelection; /** * Generate array of dates between start and end (inclusive) */ private generateDateRange; /** * Select a date range */ selectDateRange(startDate: Date, endDate: Date): void; /** * Clear all selections */ clearSelection(): void; /** * Get selected date (single selection) */ getSelectedDate(): Date | null; /** * Get selected date range */ getSelectedDateRange(): { start: Date; end: Date; } | null; /** * Get all selected dates */ getSelectedDates(): Date[]; /** * Check if a date is selected */ isDateSelected(date: Date): boolean; /** * Check if a date selection is valid */ isValidSelection(date: Date): boolean; /** * Format selected date as string */ formatSelectedDate(): string; /** * Format selected range as string */ formatSelectedRange(): string; /** * Update host component value */ private updateHostValue; /** * Dispatch single date selection event */ private dispatchSelectionEvent; /** * Dispatch range selection event */ private dispatchRangeEvent; /** * Handle errors that occur within the controller */ handleError(error: Error, context: string): void; } //# sourceMappingURL=selection.controller.d.ts.map