import { EventEmitter } from '../../stencil-public-runtime';
import { IMultiSelectionListDataSource } from './interfaces/IMultiSelectionListDataSource';
import { IMultiSelectionOption } from './interfaces/IMultiSelectionOption';
export declare class EzMuiltiSelectionList {
  private i18n;
  private filterInput;
  private searchInput;
  private checkInput;
  componentWillLoad(): Promise<void>;
  /**
   * Evento que informa que a lista de opções selecionadas sofreu alteração.
   */
  changeFilteredOptions: EventEmitter<IMultiSelectionOption[]>;
  /**
   * Nome da coluna onde serão aplicadas as opções selecionadas.
   */
  columnName: string;
  /**
   * Classe que implementa o método fetchData, responsável por realizar a pesquisa dos dados,
   * com base no termo informado pelo usuário.
   */
  dataSource: IMultiSelectionListDataSource;
  /**
   * Indica se deve ser exibida lista de opções do atributo options (true),
   * ou se deve utilizar o datasource (false)
   */
  useOptions: boolean;
  /**
   * Opções de filtros a serem exibidas na listagem.
   */
  options: IMultiSelectionOption[];
  /**
   * Informa se a pesquisa é do tipo texto ou numérico.
   */
  isTextSearch: boolean;
  /**
   * Guarda o estado das opções de filtragem (check = true ou false).
   * @private
   */
  private filteredOptions;
  /**
   * Lista de opções que devem ser exibidas na listagem.
   * Sofre alteração quando há filtragem.
   * @private
   */
  private displayOptions;
  private viewScenario;
  private displayOptionToCheckAllItems;
  clearFilteredOptions(): Promise<void>;
  onChangeUseOptions(): void;
  onChangeOptions(): void;
  onChangeFilteredOptions(optionsListUpdated: IMultiSelectionOption[]): void;
  componentDidLoad(): void;
  componentDidRender(): void;
  private ordenationByCheckStateAndAlphabetically;
  private changeCheckAllValeuFromFilteredOptions;
  private setInitialScenario;
  private searchWithDataSource;
  private handleSearchOnDataSource;
  private handleRemoveItemFromOptions;
  private handleSearchOnOption;
  private handleChangeSelectAllItems;
  private handleChangeSelectedItem;
  private buildViewList;
  private buildDeleteIconSlot;
  private buildInitViewWithDataSource;
  private buildViewEmptyResults;
  private scenarioToDisplay;
  render(): any;
}
