import { IMultiSelectionListDataSource } from '../../ez-multi-selection-list/interfaces/IMultiSelectionListDataSource';
import { IMultiSelectionOption } from '../../ez-multi-selection-list/interfaces/IMultiSelectionOption';
import { DataUnit } from '@sankhyalabs/core';
export default class InMemoryFilterColumnDataSource implements IMultiSelectionListDataSource {
  private dataUnit;
  private originalRecords;
  private lastAppliedFilters;
  private readonly FILTER_COLUMN_TERM;
  constructor(dataUnit: DataUnit);
  refresh(): void;
  onDataUnitAction: (action: any) => void;
  private getAppliedFilterNames;
  getStaticOptions(fieldName: string): Promise<Array<IMultiSelectionOption>>;
  fetchData(filterTerm: string, fieldName: string): Promise<Array<IMultiSelectionOption>>;
  sortItems(fieldName: string, items: IMultiSelectionOption[]): IMultiSelectionOption[];
  private buildFieldOption;
  private buildValue;
  private removeDuplicatedOptions;
  private includesSearchTerm;
  private buildLabel;
  private formatLabel;
  static defaultSorterMultSelectionOption(dataUnit: DataUnit, fieldName: string, items: IMultiSelectionOption[]): IMultiSelectionOption[];
}
