import { EventEmitter } from '../../../stencil-public-runtime';
export declare class SnkFilterList {
  _element: HTMLElement;
  _popoverContainer: HTMLElement;
  _popover: HTMLElement;
  _filterInput: HTMLEzFilterInputElement;
  _floatingID: number;
  _detailIsVisible: boolean;
  _selectableItemsCount: number;
  _preselection: number;
  _filterArgument: string;
  _showAll: boolean;
  /**
   * Define o label usado no ez-button do filtro.
   */
  label: string;
  /**
   * Define o ícone usado no ez-button do filtro.
   */
  iconName: string;
  /**
   * Guarda a lista de filtros.
   */
  items: Array<ListItem>;
  /**
   * Usado pra flexibilizar os verbetes e mensagens de acordo com o SnkMessageBuilder.
   */
  getMessage: (key: string, props?: any) => string;
  /**
   * Define o texto exibido quando a lista está vazia.
   */
  emptyText: string;
  /**
   * Define o texto exibido no componente de busca.
   */
  findFilterText: string;
  /**
   * Define a classe CSS a ser adicionada no botão (usado principalmente para sinalizar o filtro aplicado).
   */
  buttonClass: string;
  /**
   *  Disparado quando um item da lista é clicado.
   */
  snkItemSelected: EventEmitter<string>;
  private showDetail;
  innerClickCheck: (_floatingContainer: HTMLElement, node: HTMLElement) => boolean;
  /**
   * Oculta os detalhes do componente snk-filter-list.
   */
  hideDetail(): Promise<void>;
  private onListCloseCallback;
  private buttonClick;
  componentDidLoad(): void;
  componentDidRender(): void;
  buildIdElement(buttonElement: HTMLButtonElement, name: string): void;
  buildItemElement(item: InternalListItem): HTMLElement;
  itemSelected(itemName: string): void;
  getFilterItems(): any;
  getFooterItems(): ListItem[];
  keyDownHandler(event: KeyboardEvent): void;
  changePreselection(newSelection: number): void;
  render(): any;
}
export interface ListItem {
  label: string;
  name: string;
  kind: string;
  iconName?: string;
}
interface InternalListItem extends ListItem {
  iconClass?: string;
  labelClass?: string;
}
export {};
