import { LitElement } from 'lit'; import '../button/ws-button.js'; export type WsDatePickerSize = 'small' | 'medium' | 'large'; /** * Workshop form-associated date picker with an expressive calendar surface. * * @fires input - Dispatched when the selected date changes while editing. * @fires change - Dispatched when the selected date is committed. * @csspart label - The visible field label. * @csspart control - The date-picker container. * @csspart input - The native date input. * @csspart clear-button - The optional clear action. * @csspart picker-button - The calendar action. * @csspart supporting-text - Helper or error text. */ export declare class WsDatePicker extends LitElement { static styles: import("lit").CSSResult; static formAssociated: boolean; /** ISO date value in YYYY-MM-DD format. */ value: string; /** Name used when the picker participates in form submission. */ name: string; /** Control height and density. */ size: WsDatePickerSize; /** Visible label displayed above the control. */ label: string; /** Supporting guidance shown while the picker is valid. */ helperText: string; /** Supporting message shown while the picker is invalid. */ errorText: string; /** Earliest selectable ISO date. */ min?: string; /** Latest selectable ISO date. */ max?: string; /** Whether selecting a date is required. */ required: boolean; /** Disables interaction and excludes the value from form submission. */ disabled: boolean; /** Prevents editing while preserving focus and form submission. */ readOnly: boolean; /** Applies an externally controlled invalid state. */ invalid: boolean; /** Shows a clear action while the picker contains a value. */ clearable: boolean; /** Accessible name used when no visible label is provided. */ accessibleLabel?: string; /** Accessible name for the calendar action. */ pickerLabel: string; /** Accessible name for the clear action. */ clearLabel: string; private touched; private formDisabled; private calendarOpen; private visibleMonth; private readonly internals; private readonly fieldId; private readonly helperId; private readonly errorId; private defaultValue; private capturedDefaultValue; private customValidationMessage; private monthTransitioning; private static nextId; connectedCallback(): void; disconnectedCallback(): void; protected firstUpdated(): void; protected updated(): void; render(): import("lit-html").TemplateResult<1>; /** Associated form, when the picker is inside one. */ get form(): HTMLFormElement | null; /** Labels associated with the custom element. */ get labels(): NodeList; /** Current validity state. */ get validity(): ValidityState; /** Current validation message. */ get validationMessage(): string; /** Whether the picker participates in constraint validation. */ get willValidate(): boolean; focus(options?: FocusOptions): void; /** Opens the Workshop Expressive calendar. */ showPicker(): void; /** Applies a custom validity message. Pass an empty string to clear it. */ setCustomValidity(message: string): void; /** Runs constraint validation without displaying browser UI. */ checkValidity(): boolean; /** Runs constraint validation and makes the invalid state visible. */ reportValidity(): boolean; formDisabledCallback(disabled: boolean): void; formResetCallback(): void; formStateRestoreCallback(state: string | File | FormData | null): void; private get inputElement(); private get isEffectivelyDisabled(); private get isVisuallyInvalid(); private renderClearButton; private renderCalendar; private renderMonthButton; private handleBeforeInput; private handleInput; private handleChange; private handleBlur; private handleInvalid; private handlePickerClick; private changeMonth; private selectDate; private handleDocumentPointerDown; private parseDate; private formatDate; private startOfMonth; private clearValue; private syncFormAndValidity; } declare global { interface HTMLElementTagNameMap { 'ws-date-picker': WsDatePicker; } } //# sourceMappingURL=ws-date-picker.d.ts.map