import { EventEmitter } from '../../stencil-public-runtime'; export interface SelectItem { label: string; value: string | number; disabled?: boolean; } export declare class SpwSelect { el: HTMLSpwSelectElement; /** Emet un event si la valeur change */ valueChanged: EventEmitter; internalValue: string | number; /** Valeur sélectionnée actuelle, mutable et reflétée dans le DOM */ value: string | number; /** Label associé au champ de sélection */ label: string; /** Texte du placeholder à afficher lorsque rien n'est sélectionné */ placeholder: string; /** Indique si le champ de sélection est désactivé */ disabled: boolean; /** Nom de l'élément utilisé dans les formulaires pour associer la valeur sélectionnée */ name: string; /** Indique si la sélection est obligatoire dans le formulaire */ required: boolean; /** Taille du champ de sélection : 'large' ou 'medium' */ size: 'large' | 'medium'; /** Texte d'assistance affiché sous le label */ assistiveText?: string; /** Message d'erreur à afficher sous le champ de sélection */ error?: string; /** Message d'indication (hint) à afficher sous le champ de sélection */ hint?: string; /** Message de succès à afficher sous le champ de sélection */ 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; /** Liste d'items dynamiques pour générer les options (array d'objects avec label + value) */ items?: SelectItem[]; /** Propriété à utiliser comme label des options */ itemLabel?: string; /** Propriété à utiliser comme valeur des options */ itemValue?: string; /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ accAriaLabel?: string; /** 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'; /** Indique si le champ peut être effacé avec un bouton */ isClear?: boolean; private selectElement; private defaultValue; internals: ElementInternals; handleItemsChange(): void; handleValueChange(newValue: string | number): void; /** Réinitialise le champ de sélection */ resetSelect(): Promise; /** Définit la valeur du champ de sélection */ setValue(val: string | number): Promise; /** Récupère la valeur actuelle du champ de sélection */ getValue(): Promise; componentWillLoad(): void; componentDidLoad(): void; formResetCallback(): void; private getFormValue; private getInitialSelectedValue; private handleSelectChange; private moveOptionsToLightDom; private syncDynamicOptions; private renderErrorMessage; private renderHintMessage; private renderSuccessMessage; private renderWarningMessage; private handleClear; private get elementClass(); render(): any; }