import { EventEmitter } from '../../stencil-public-runtime'; export declare type WCDatepickerSelectionMode = 'single' | 'range' | 'multiple'; export declare type WCDatepickerLabels = { clearButton: string; dateDeselected: string; dateSelected: string; datesSelected: string; monthSelect: string; nextMonthButton: string; nextYearButton: string; picker: string; previousMonthButton: string; previousYearButton: string; todayButton: string; yearSelect: string; }; export interface MonthChangedEventDetails { month: number; year: number; day: number; } /** * @slot button-month-prev - content of the previous month button * @slot button-month-next - content of the next month button * @slot button-year-prev - content of the previous year button * @slot button-year-next - content of the next year button * @slot button-today - content of the today button * @slot button-clear - content of the clear button */ export declare class WCDatepicker { el: HTMLElement; disabled?: boolean; disableDate?: (date: Date) => boolean; elementClassName?: string; firstDayOfWeek?: number; goToRangeStartOnSelect?: boolean; /** @deprecated Use `selectionMode="range"` instead. */ range?: boolean; selectionMode?: WCDatepickerSelectionMode; labels?: WCDatepickerLabels; locale?: string; maxDate?: string; maxSearchDays?: number; minDate?: string; navigateWeeks?: boolean; nextMonthButtonContent?: string; nextYearButtonContent?: string; previousMonthButtonContent?: string; previousYearButtonContent?: string; showClearButton?: boolean; showMonthStepper?: boolean; showTodayButton?: boolean; showYearStepper?: boolean; startDate?: string; value?: Date | Date[]; currentDate: Date; hoveredDate: Date; lastToggle?: { action: 'deselected' | 'selected'; date: Date; }; weekdays: string[][]; selectDate: EventEmitter; changeMonth: EventEmitter; private moveFocusAfterMonthChanged; private pendingClick; componentWillLoad(): void; watchFirstDayOfWeek(): void; watchLocale(): void; watchRange(): void; watchSelectionMode(): void; watchStartDate(): void; watchValue(): void; handleMinDate(): void; handleMaxDate(): void; componentDidRender(): void; private init; private updateWeekdays; private getClassName; private getCalendarRows; private getTitle; private getLiveRegionText; private getGridTitle; private focusDate; private updateCurrentDate; private onSelectDate; private getAvailableDate; private nextMonth; private nextYear; private previousMonth; private previousYear; private showToday; private clear; private onClick; private onMonthSelect; private onYearSelect; private onKeyDown; private onMouseEnter; private onMouseLeave; private onMouseDown; private onFocus; private get isPreviousMonthDisabled(); private get isNextMonthDisabled(); private getMinDate; private getMaxDate; private isMonthOutOfRange; private clampDateToRange; private get mode(); private isDateDisabled; render(): any; }