interface RippleType {
  x: number;
  y: number;
  id: number;
}
type SizeIconType = "x-small" | "small" | "medium" | "large" | "x-large";
export declare class EzButton {
  _element: HTMLElement;
  private _button;
  ripples: RippleType[];
  isPressed: boolean;
  /**
   * 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.
   * @deprecated Use `isDisabled` prop instead.
   */
  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: [ez-icons](https://sankhyalabs-storybook.herokuapp.com/themes/default/icons/fonts/index.html)
   */
  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 direto do ez-button.
   * Tem prioridade sobre o slot `rightIcon`.
   */
  rightIconName?: string;
  /**
   * Se verdadeiro, desabilita a animação de ripple.
   */
  suppressAnimation?: boolean;
  /**
   * Aplica o foco no botão.
   */
  setFocus(): Promise<void>;
  /**
   * Remove o foco do botão.
   */
  setBlur(): Promise<void>;
  private createRipple;
  onMouseDown(event: MouseEvent): void;
  onTouchStart(event: TouchEvent): void;
  clickListener(evt: MouseEvent): void;
  removeForcedFocusVisible(): void;
  connectedCallback(): void;
  componentDidLoad(): void;
  disconnectCallback(): void;
  getButtonSize(sizeParam?: string): string;
  getButtonSizeClass(): string;
  getIconSize(): SizeIconType;
  handleSlotChange(ev: Event): void;
  private renderRipples;
  render(): any;
}
export {};
