import { EventEmitter } from '../../stencil-public-runtime'; export declare class SpwDatePicker { el: HTMLSpwDatePickerElement; /** Valeur de la date sélectionnée */ value: string; /** Placeholder du champ de saisie */ placeholder: string; /** Label du champ */ label: string; /** Attribut `name` utilisé par le formulaire */ name: string; /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ accAriaLabel?: string; /** Indique si le champ est requis */ required: boolean; /** Indique si le champ est désactivé */ disabled: boolean; /** Format de date à afficher */ dateFormat: string; /** Date minimale sélectionnable */ minDate: string; /** Date maximale sélectionnable */ maxDate: string; /** Jours de la semaine désactivés (0=dimanche, 1=lundi, etc.) */ disabledDays: string | number[]; /** Dates spécifiques désactivées (format ISO, ex: ["2026-01-01", "2026-12-25"]) */ disabledDates: string | string[]; /** Position du datepicker */ position: 'tr' | 'tl' | 'br' | 'bl'; /** Message d'erreur à afficher sous le champ */ error?: string; /** Message d'indication (hint) à afficher sous le champ */ hint?: string; /** Message de succès à afficher sous le champ */ success?: string; /** Message de warning à afficher sous le champ */ warning?: string; /** Affiche une icône d'erreur si vrai */ showErrorIcon?: boolean; /** Affiche une icône d'indication si vrai */ showHintIcon?: boolean; /** Affiche une icône de succès si vrai */ showSuccessIcon?: boolean; /** Affiche une icône de warning si vrai */ showWarningIcon?: boolean; /** Active le panneau dépliable sur les messages (error, hint, success, warning) */ isExpandable?: boolean; /** Texte du lien pour déplier le message */ expandLabel?: string; /** Texte du lien pour replier le message */ collapseLabel?: string; /** Texte d'assistance à afficher sous le label */ assistiveText?: string; /** Indique si le champ peut être effacé avec un bouton */ isClear?: boolean; /** Titre du tooltip */ tooltipTitle?: string; /** Texte du tooltip */ tooltipText?: string; /** Largeur maximale du tooltip */ tooltipMaxWidth?: string; /** Positionnement du tooltip */ tooltipDirection?: 'top' | 'bottom' | 'left' | 'right'; /** Curseur du tooltip */ tooltipCursor?: 'pointer' | 'default' | 'help' | 'disabled'; /** Si vrai, permet de définir un range de dates */ range: boolean; /** Permet de définir un id pour le range de date (corrélation entre les 2 inputs) */ rangeId?: string; /** Permet de définir l'input de début pour un range */ isStart: boolean; /** Utilise un positionnement fixed pour le calendrier si nécessité de sortir du contexte (utile dans une modal avec overflow hidden) */ fixedCalendar?: boolean; /** Tag name du composant parent contenant le scroll (ex: 'spw-modal'). Le composant remontera les parents pour trouver ce composant et écouter son scroll interne. */ fixedCalendarParent?: string; isOpen: boolean; hasError: boolean; internalError: string; internalValue: string; isClearIconVisible: boolean; /** Evenement émis au changement de date */ dateChange: EventEmitter<{ value: string; date: Date; }>; /** Evenement émis à l'ouverture du datepicker */ datePickerOpen: EventEmitter; /** Evenement émis à la fermeture du datepicker */ datePickerClose: EventEmitter; private inputElement; private datepickerInstance; private uniqueId; private lastInputValue; private isDeleting; private defaultValue; private parentScrollContainer; internals: ElementInternals; componentWillLoad(): void; componentDidLoad(): void; connectedCallback(): void; disconnectedCallback(): void; private findParentComponent; private findScrollContainerInShadowRoot; private ensureParentScrollListener; private cleanupParentScrollListener; private updateCalendarPosition; watchValue(newValue: string): void; watchDisabled(isDisabled: boolean): void; watchMinDate(newMinDate: string): void; watchMaxDate(newMaxDate: string): void; /** Méthode pour ouvrir le datepicker */ open(): Promise; /** Méthode pour fermer le datepicker */ close(): Promise; /** Méthode pour définir la date */ setDate(date: Date | string): Promise; /** Méthode pour récupérer la date */ getDate(): Promise; /** Méthode pour récupérer le range de dates */ getRange(): Promise<{ start: Date | null; end: Date | null; }>; /** Méthode pour mettre à jour les contraintes min/max du datepicker */ updateConstraints(minDate?: Date, maxDate?: Date): Promise; /** Méthode pour réinitialiser le datepicker */ resetInput(): Promise; /** Méthode pour réinitialiser les contraintes min/max du datepicker */ resetConstraints(): Promise; private toISODateString; private getRangeSiblings; private highlightRangeInCalendar; private updateRangeConstraints; private unmask; private applyMaskSmart; private handleMaskedInput; private setupCalendarNavigation; private handleCalendarKeyDown; private initializeDatepicker; private formatDate; private handleInputChange; private parseDate; private handleInputFocus; private handleClear; private handleCalendarIconClick; private handleCalendarIconMouseDown; private handleKeyDown; formResetCallback(): void; private renderMessages; render(): any; }