import { IOption, ISearchArgument } from "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box";
import { ListGroup } from "@sankhyalabs/ezui/dist/types/components/ez-list/ez-list";
import { ListItem as ListItemEzList } from "@sankhyalabs/ezui/src/components/ez-list/ez-list";
import { EventEmitter } from "../../stencil-public-runtime";
import { SnkApplication } from "../snk-application/snk-application";
import { SnkFilterItemConfig } from "../snk-filter-bar/filter-item/snk-filter-item";
import { ListItem } from "../snk-filter-bar/filter-list/snk-filter-list";
export declare class SnkEntityList {
  _snkPequisa: HTMLSnkPesquisaElement;
  _ezList: HTMLElement;
  _application: SnkApplication;
  _searchElement: HTMLElement;
  _ezListSource: any[];
  reloadList(): Promise<void>;
  private _entityName;
  /**
   * Configurações para carregar os dados do componente
   */
  config: SnkFilterItemConfig;
  /**
   * Método que possibilita alterar como o item da lista vai ser apresentado.
   * Observação: No React ele se transforma em VNode e não HTMLElement.
   */
  rightListSlotBuilder: (item: ListItem, group?: ListGroup) => HTMLElement | string;
  /**
   * Permite definir uma altura máxima para o ez-list, adicionando um scroll ao atingir esta medida
   */
  maxHeightList: string;
  /**
   * Define o valor do componente
   */
  value: IOption;
  /**
   * Usado para exibir mensagens de erro.
   */
  errorMessage: string;
  /**
   * Emite um evento customizado ao realizar alteração nos valores do componente
   */
  valueChanged: EventEmitter<CustomEvent>;
  observeConfig(): void;
  ezListChangeListener(evt: CustomEvent<ListItemEzList>): void;
  private loadListSource;
  componentDidLoad(): void;
  optionLoader(searchArgument: ISearchArgument): Promise<IOption[]>;
  onEzSearchChange(evt: CustomEvent<IOption>): void;
  getMessage(key: string, params?: any): string;
  getListConfigValue(config: SnkFilterItemConfig): any;
  render(): any;
}
