import { DataUnit, Record } from "@sankhyalabs/core";
import { IOption } from '@sankhyalabs/ezui/dist/types/components/ez-search/ez-search';
import { EventEmitter } from "../../../stencil-public-runtime";
import { SnkMessageBuilder } from "../../../lib/message/SnkMessageBuilder";
export declare class SnkEntitySearch {
  _elem: HTMLSnkFormSummaryElement;
  private readonly SEARCH_DESCRIPTION_TIMEOUT;
  private _application;
  private _entityPKField;
  private _popoverSearchEntity;
  private _popoverListResult;
  private _searchList;
  private _textInput;
  private _keyboardManager;
  private _debounceSearch;
  /**
   * Nome da entidade que será pesquisada.
  */
  entityName: string;
  /**
   * Referência ao DataUnit que será atualizado com o registro selecionado.
  */
  dataUnit: DataUnit;
  /**
   * Construtor de mensagens para internacionalização.
  */
  messagesBuilder: SnkMessageBuilder;
  /**
   * Evento disparado quando os registros são carregados.
  */
  loaded: EventEmitter<Record[]>;
  showUnder(element: HTMLElement): Promise<void>;
  _searchInputValue: string;
  _showMoreOnSearch: boolean;
  visibleOptions: IOption[];
  value: IOption;
  private showLoading;
  private buildSearchOptions;
  private handlePredictiveSearch;
  private loadEntitySuggestions;
  private refreshDataUnitByPk;
  private closeSearchPopover;
  private searchEntitySelect;
  private handleOnEzVisibilityChange;
  private handleSelectItem;
  private updateKeyOption;
  private handleInputChange;
  private isOptionsVisible;
  private handleArrowUp;
  private handleArrowDown;
  private selectCurrentItem;
  private cancelSelection;
  private handleInputTab;
  private handleInputEsc;
  private getMessage;
  private initKeyboardManager;
  connectedCallback(): void;
  componentWillLoad(): void;
  componentDidLoad(): void;
  disconnectedCallback(): void;
  render(): any;
}
