import { IRangeOptions, IPredefinedRange } from '../interfaces/range.interface'; import { NavigationEventDetail } from '../interfaces/calendar.interface'; import { calendar } from './calendar'; import CalendarConnector from './connector'; declare class DateDreamerRange extends HTMLElement implements IRangeOptions { calendar1: calendar | undefined; calendar2: calendar | undefined; calendar1DisplayedDate: Date; calendar2DisplayedDate: Date; element: string | Element; theme?: 'lite-purple' | 'unstyled' | undefined; styles?: string | undefined; format?: string | undefined; iconPrev?: string | undefined; iconNext?: string | undefined; darkMode?: boolean | undefined; darkModeAuto?: boolean | undefined; predefinedRanges?: IPredefinedRange[] | undefined; onChange?: ((event: CustomEvent<{ startDate: string; endDate: string; }>) => void) | undefined; onRender?: ((event: CustomEvent>) => void) | undefined; selectedStartDate: Date | undefined; selectedEndDate: Date | undefined; connector: CalendarConnector | undefined; constructor(options: IRangeOptions); /** * Handles click events on predefined range buttons * @param range - The predefined range that was clicked */ private handlePredefinedRangeClick; /** * Determines whether dark mode should be enabled based on user preferences * @returns boolean indicating if dark mode should be active */ private getDarkModeSetting; /** * Sets up a listener for system preference changes when darkModeAuto is enabled */ private setupDarkModeListener; /** * Updates the dark mode styling based on current preferences */ private updateDarkMode; /** * Initialize parent div element and inject both calendars. */ init(): void; addStyles(): void; prevHandler(e: CustomEvent): void; nextHandler(e: CustomEvent): void; resetViewedDated(): void; handleDateChange: () => void; } export { DateDreamerRange as range };