import { EventEmitter } from '../../stencil-public-runtime';
export declare class SpwButton {
    el: HTMLSpwButtonElement;
    /** Spécifie le lien si nécessaire */
    href?: string;
    /** Attribut target, s'applique uniquement si href est rempli */
    target?: string;
    /** Remplit l'attribut rel */
    rel?: string;
    /** Permet de télécharger un fichier au lieu de naviguer vers le lien */
    download?: string;
    /** Nom du bouton */
    name?: string;
    /** Valeur du bouton */
    value?: string | number;
    /** Type du bouton */
    type?: 'button' | 'submit' | 'reset';
    /** Fait référence à l'id du formulaire de référence */
    form?: string;
    /** Permet de sélectionner une variante du bouton */
    variant?: 'primary' | 'secondary' | 'tertiary';
    /** Permet de choisir la surface d'arrière-plan du bouton */
    surface?: 'default' | 'dark' | 'light' | 'primary';
    /** Si désactivé, le bouton n'est pas utilisable */
    disabled?: boolean;
    /** Permet de spécifier la taille du bouton */
    size?: 'large' | 'medium' | 'small';
    /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */
    accAriaLabel?: string;
    /** Si rempli, vous pouvez utiliser une référence d'icône font-awesome */
    isIconOnly?: boolean;
    /** Si rempli, vous pouvez utiliser une référence d'icône font-awesome */
    icon?: string;
    /** Position de l'icône à l'intérieur du bouton */
    iconPosition?: 'left' | 'right';
    /** Permet de spécifier une variante de Font Awesome */
    iconVariant: 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light';
    /** Si vrai, le bouton prend toute la largeur */
    isFullWidth?: boolean;
    /** Si vrai, le bouton prend toute la largeur en mobile */
    isFullWidthMobile?: boolean;
    /** Si vrai, masque le texte en mobile (garde uniquement l'icône) */
    hideTextOnMobile?: boolean;
    /** Affiche un état de chargement, désactive le bouton */
    isLoading?: boolean;
    /** Lors du focus */
    spwFocus: EventEmitter<void>;
    /** Lors de la perte du focus */
    spwBlur: EventEmitter<void>;
    /** Navigation vers un lien lors du clic */
    spwNavigate: EventEmitter<MouseEvent>;
    private nativeEl;
    /** Donne le focus au bouton */
    setFocus(): Promise<void>;
    private onFocus;
    private onBlur;
    private resetForm;
    private onClick;
    private get elementClass();
    render(): any;
}
