import { EventEmitter } from '../../stencil-public-runtime';
export declare class SpwTextField {
    /** Événement émis lorsque la valeur de l'input change */
    valueChanged: EventEmitter<string | number>;
    /** Valeur actuelle du champ de saisie, mutable et reflétée dans le DOM */
    value?: string | number;
    /** Type d'input à rendre, par exemple, "text", "password", etc. */
    type?: string;
    /** Texte à afficher au-dessus du champ de saisie */
    label: string;
    /** Texte du placeholder pour le champ de saisie */
    placeholder: string;
    /** Si `true`, le champ de saisie est désactivé et ne peut pas être utilisé */
    disabled?: boolean;
    /** Attribut `name` de l'élément input */
    name: string;
    /** Valeur minimale dans le cas d'un input number */
    min?: number;
    /** Valeur maximale dans le cas d'un input number */
    max?: number;
    /** Valeur d'incrémentation dans le cas d'un input number */
    step?: number;
    /** Longueur minimale pour la valeur de l'input */
    minLength?: number;
    /** Longueur maximale pour la valeur de l'input */
    maxLength?: number;
    /** Indique si l'input est un champ de recherche */
    isSearch?: boolean;
    /** Indique si le champ peut être effacé avec un bouton */
    isClear?: boolean;
    /** Indique si l'input est requis */
    required?: boolean;
    /** Spécifie la taille du champ de saisie : 'large' ou 'medium' */
    size?: 'large' | 'medium';
    /** Indicateur à afficher à droite du champ de saisie */
    indicator?: string;
    /** Texte d'assistance à afficher sous le label */
    assistiveText?: string;
    /** 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;
    /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */
    accAriaLabel?: string;
    /** Aria-label pour le bouton d'incrémentation (input number) */
    accAriaLabelIncrement?: string;
    /** Aria-label pour le bouton de décrémentation (input number) */
    accAriaLabelDecrement?: string;
    /** Si true, affiche les boutons +/- pour les champs numériques */
    hasControls?: boolean;
    /** Affiche un bouton submit (loupe) qui déclenche le submit du formulaire parent */
    hasSubmitButton?: boolean;
    /** Définition du masque (9 = chiffre, A = lettre majuscule, a = lettre, X = alphanum) */
    mask?: string;
    /** Nombre maximum de chiffres après la virgule (uniquement pour type="number"). Les entiers restent autorisés. */
    decimalPrecision?: number;
    /** 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';
    isClearIconVisible: boolean;
    internals: ElementInternals;
    el: HTMLSpwTextFieldElement;
    private inputElement;
    private defaultValue;
    /** Méthode publique pour mettre le focus sur le champ de saisie. */
    setFocus(): Promise<void>;
    valueChangedHandler(newValue: string | number): void;
    setValue(newVal: string): Promise<void>;
    private getTypedValue;
    componentDidLoad(): void;
    formResetCallback(): void;
    private handleInput;
    private handleClear;
    private handleKeyDown;
    private handleSubmit;
    private normalizeDecimalSeparator;
    private roundToPrecision;
    private getCurrentNumericValue;
    private increment;
    private decrement;
    private unmask;
    private matchesPlaceholder;
    private transformForPlaceholder;
    private applyMask;
    private renderErrorMessage;
    private renderHintMessage;
    private renderSuccessMessage;
    private renderWarningMessage;
    private get elementClass();
    render(): any;
}
