export declare class SubmenuControl {
  constructor();
  /**
   * Método responsável por fechar submenus abertos e abrir o submenu desejado.
   * @param menu - Item de menu selecionado para abrir o submenu.
   */
  show(menu: HTMLElement): void;
  /**
   * Método responsável por fechar um determinado submenu aberto.
   * @param menu - Item de menu selecionado com o submenu aberto.
   */
  hide(menu: HTMLElement): void;
  /**
   * Método responsável por fechar todos os submenus filhos de um determinado submenu.
   * @param submenu - Elemento HTML do submenu pai.
   */
  hideChild(submenu: HTMLElement): void;
  /**
   * Método responsável por posicionar o submenu na tela.
   * @param menu - Item da lista selecionado para abrir o submenu.
   */
  setPosition(menu: HTMLElement): void;
  /**
   * Método responsável por controlar a altura máxima do dropdown.
   * @param element - Elemento HTML pai do dropdown que será renderizado.
   */
  setMaxHeight(element: HTMLElement): void;
  /**
   * Método responsável por atribuir a classe de espaçamento entre o conteúdo e o scroll.
   * @param dropdown - Elemento HTML pai do container que receberá a classe.
   */
  setSpacerContainer(dropdown: HTMLElement): void;
  /**
   * Método responsável por resetar um determinado submenu aberto.
   * @param submenu - Elemento HTML do submenu que será resetado.
   */
  reset(submenu: HTMLElement): void;
  /**
   * Método responsável por resetar um determinado dropdown renderizado.
   * @param dropdown - Elemento HTML do dropdown que será resetado.
   */
  resetDropdown(dropdown: HTMLElement): void;
  /**
   * Método responsável por controlar o scroll do container do submenu aberto.
   * @param menu - Item da lista selecionado para abrir o submenu.
   */
  private setScrollContainer;
  /**
   * Método responsável por fechar os submenus filhos ao movimentar o scroll.
   * @param event - Evento de scroll disparado pelo Elemento HTML pai.
   */
  private onScrollContainer;
  /**
   * Método responsável por retornar a posição superior (top) de um elemento HTML na tela.
   * @param hostElement - Elemento HTML que será capturado o valor de sua posição superior (top) na tela.
   * @returns Valor da posição superior (top) de um determinado elemento HTML.
   */
  private getPositionTop;
  /**
   * Método responsável por retornar a posição direita (right) de um elemento HTML na tela.
   * @param hostElement - Elemento HTML que será capturado o valor de sua posição direita (right) na tela.
   * @returns Valor da posição direita (right) de um determinado elemento HTML.
   */
  private getPositionRight;
  /**
   * Método responsável por retornar a posição esquerda (left) de um elemento HTML desconsiderando a largura de outro elemento HTML.
   * @param hostElement - Elemento HTML que será capturado o valor de sua posição esquerda (left) na tela.
   * @param targetElement - Elemento HTML que será capturado o valor de sua largura (width).
   * @returns Valor da posição esquerda (left) de um determinado elemento HTML desconsiderando a largura de outro elemento HTML.
   */
  private getPositionLeft;
  /**
   * Método responsável por atualizar a posição de um elemento HTML que renderizou fora da tela.
   * @param hostElement - Elemento HTML que será a referência de posição dentro da tela.
   * @param targetElement - Elemento HTML que será reposicionado na tela.
   */
  private updatePosition;
}
