export type EzButtonProps = {
  /** Texto a ser apresentado como título do botão. */
  label?: string;
  /** Se false o usuário não pode interagir com o botão. */
  enabled?: boolean;
  /** Se verdadeiro o clique no botão fica desabilitado mas a navegação continua funcional. Se full, o usuário não pode interagir com o botão. */
  isDisabled?: boolean | "full" | "";
  /** Define o modo de uso do botão. */
  mode?: "regular" | "icon" | "link" | "label-icon";
  /** Define o caminho usado nos modos `icon` e `label-icon` para imagens não contempladas na biblioteca de ícones. */
  image?: string;
  /** Define o ícone a ser usado da biblioteca de ícones. */
  iconName?: string;
  /** Define o tamanho do ez-button. */
  size?: "x-small" | "small" | "medium" | "large";
  /** Define a variante do ez-button. */
  variant?: "primary" | "secondary" | "tertiary";
  /** Define o tipo do botão. Pode ser `button`, `submit` ou `reset`. */
  type?: string;
  /** Define o ícone esquerdo do ez-button. Tem prioridade sobre o slot `leftIcon`. */
  leftIconName?: string;
  /** Define o ícone direito do ez-button. Tem prioridade sobre o slot `rightIcon`. */
  rightIconName?: string;
  /** Se verdadeiro, desabilita a animação de ripple. */
  suppressAnimation?: boolean;
  /** Função chamada ao clicar no botão. */
  onClick?: (event: MouseEvent) => void;
};
