import { EventEmitter } from "../../stencil-public-runtime";
import { IGuideItem } from "./interfaces";
export declare class EzGuideNavigator {
  private i18n;
  _element: HTMLElement;
  _tree: HTMLEzTreeElement;
  /**
   * Define se o menu de navegação está aberto.
   */
  open: boolean;
  /**
   * Define o id do item selecionado.
   */
  selectedId: string;
  /**
   * Lista de itens do menu de navegação.
   */
  items: Array<IGuideItem>;
  /**
   * Define uma função que vai resolver o `tooltip` ou `title` daquele item.
   */
  tooltipResolver: (item: IGuideItem, enabled: boolean, level: number) => string;
  /**
   * Valor do campo de pesquisa usado na filtragem de guias.
   */
  filterText: string;
  /**
   * Desabilita um ou mais itens.
   */
  disableItem(id: string | Array<string>): Promise<void>;
  /**
   * Abre o navegador de Guia
   */
  openGuideNavidator(): Promise<void>;
  /**
   * Habilita um ou mais itens.
   */
  enableItem(id: string | Array<string>): Promise<void>;
  /**
   * Atualiza um ou mais items
   */
  updateItem(item: IGuideItem | Array<IGuideItem>): Promise<void>;
  /**
   * Obtem um item pelo id
   */
  getItem(id: string): Promise<IGuideItem>;
  /**
   * Obtem um array do caminho de itens da seleção atual.
   * @returns Retorna um array do caminho de itens da seleção atual.
   */
  getCurrentPath(): Promise<Array<IGuideItem>>;
  /**
   * Seleciona o item desejado pelo ID.
   * @param id - ID do item que receberá a seleção.
   */
  selectGuide(id: string): Promise<void>;
  /**
   * Obtem o item pai a partir de um id
   */
  getParent(id: string): Promise<IGuideItem>;
  componentWillLoad(): Promise<void>;
  private handleToggleSidebar;
  private handleFilterTree;
  private onFilterChanged;
  /**
   * Evento emitido quando o item selecionado no navigator é alterado.
   */
  ezSelectionChange: EventEmitter<IGuideItem>;
  render(): any;
}
