import { LitElement } from 'lit'; import { type ValidatorFn } from '../../utils/validators.js'; /** * Date Range Picker component with full keyboard navigation and accessibility * * @slot - Not used (component is self-contained) * * @fires date-change - Dispatched when a date or date range is selected * @fires date-clear - Dispatched when dates are cleared * * @csspart container - The main container * @csspart input - The input field * @csspart calendar - The calendar popup * @csspart header - Calendar header with navigation * @csspart grid - Calendar grid container * @csspart day - Individual day cell * * @cssprop --datepicker-width - Width of the datepicker (default: 320px) * @cssprop --datepicker-border-color - Border color * @cssprop --datepicker-bg - Background color * @cssprop --datepicker-text-color - Text color * @cssprop --datepicker-primary-color - Primary accent color * @cssprop --datepicker-hover-bg - Hover background color * @cssprop --datepicker-selected-bg - Selected date background * @cssprop --datepicker-disabled-color - Disabled date color * @cssprop --datepicker-range-bg - Range background color */ export declare class UIDatePicker extends LitElement { static styles: import("lit").CSSResult; /** Selection mode: 'single' or 'range' */ mode: 'single' | 'range'; /** Placeholder text for the input */ placeholder: string; /** Disabled state */ disabled: boolean; /** Minimum selectable date (ISO format) */ min?: string; /** Maximum selectable date (ISO format) */ max?: string; /** Array of disabled dates (ISO format) */ disabledDates: string[]; /** Show preset range buttons for quick selection (range mode only) */ showPresets: boolean; /** Date format for display */ format: string; /** Locale for date formatting (e.g. 'en-US', 'de-DE', 'ja-JP') */ locale: string; /** First day of week (0=Sun, 1=Mon, etc.) */ firstDayOfWeek: number; /** Currently selected date or start date */ value?: string; /** End date for range mode */ valueEnd?: string; /** Whether field is required */ required: boolean; /** Error message to display */ error: string; /** Whether to validate on change */ validateOnChange: boolean; /** Custom validators */ validators: ValidatorFn[]; /** Calendar open state */ private _isOpen; /** Current displayed month */ private _currentMonth; /** Focused day index for keyboard navigation */ private _focusedDayIndex; /** Temporary range selection state */ private _rangeStart?; private _rangeEnd?; ariaLabel: string | null; ariaLabelledby: string | null; private liveRegionId; private inputId; private calendarId; private _weekdays; private _months; private _localeUnsub?; /** Resolved locale (from prop or global LocaleProvider) */ private get _locale(); /** Get localized weekday names */ private get _localizedWeekdays(); /** Get localized month names */ private get _localizedMonths(); connectedCallback(): void; disconnectedCallback(): void; private _handleOutsideClick; private _toggleCalendar; private _navigateMonth; private _isDateDisabled; private _selectDate; private _clearDates; private _goToToday; private _applyPreset; /** Validate the datepicker */ validate(): boolean; /** Reset validation state */ resetValidation(): void; private _dispatchChange; private _formatDate; private _getDisplayValue; private _getDaysInMonth; private _isToday; private _isSameMonth; private _isSelected; private _isInRange; private _handleKeyDown; private _focusDay; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ui-datepicker': UIDatePicker; } } //# sourceMappingURL=datepicker.d.ts.map