import { IPersonalizedFilter } from "../../snk-personalized-filter/interfaces/IPersonalizedFilter";
import { SnkFilterItemConfig } from "../filter-item/snk-filter-item";
type OnCompleteCallback = (filter: SnkFilterItemConfig[]) => void;
type GetMessageFn = (key: string, params?: any) => string;
type AddPersonalizedFilterFn = (isDefault?: boolean) => void;
type EditPersonalizedFilterFn = (id: string, isDefault?: boolean) => void;
type deletePersonalizedFilterFn = (filter: IPersonalizedFilter, configName: string, isDefault?: boolean) => void;
export type SnkFilterModalFactoryParams = {
  filterConfig: SnkFilterItemConfig[];
  configName: string;
  onComplete: OnCompleteCallback;
  getMessage: GetMessageFn;
  disablePersonalizedFilter: boolean;
  onAddPersonalizedFilter: AddPersonalizedFilterFn;
  onEditPersonalizedFilter: EditPersonalizedFilterFn;
  onDeletePersonalizedFilter: deletePersonalizedFilterFn;
  filterCustomConfigInterceptor?: (config: Array<SnkFilterItemConfig>) => Array<SnkFilterItemConfig>;
};
declare class SnkFilterModalFactory {
  private _closeModal;
  private _configName;
  private _onComplete;
  private _disablePersonalizedFilter;
  private _filterConfig;
  private _getMessage;
  private _addPersonalizedFilterFn;
  private _editPersonalizedFilterFn;
  private _onDeletePersonalizedFilter;
  private _filterCustomConfigInterceptor?;
  constructor({ filterConfig, configName, onComplete, getMessage, disablePersonalizedFilter, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter, filterCustomConfigInterceptor }: SnkFilterModalFactoryParams);
  private applyFilters;
  private buildFilterModal;
  showModal(): Promise<void>;
  closeModal(): Promise<void>;
}
export default SnkFilterModalFactory;
