import { EventEmitter } from '../../stencil-public-runtime';
import { ListItem } from '@sankhyalabs/ezui/dist/types/components/ez-list/ez-list';
import { DataUnit } from '@sankhyalabs/core';
import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
export declare class SnkSimpleFormConfig {
  private ezPopupRef;
  private ezDoubleListRef;
  private _formConfigFetcher;
  private fieldsToSave;
  /**
   * Data unit responsável pelos campos disponíveis
   */
  dataUnit: DataUnit;
  /**
   * Chave que representa a configuração do formulário
   */
  configName: string;
  /**
   * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
   */
  messagesBuilder: SnkMessageBuilder;
  avaliableFields: ListItem[];
  selectedFields: ListItem[];
  snkConfigSaved: EventEmitter<void>;
  /**
   * Responsável por abrir o configurador.
   */
  show(): Promise<void>;
  private initializeFormConfig;
  private getConfig;
  private getMessage;
  private removeDuplicates;
  private sortDisplayedFields;
  private getAllVisibleFieldsFromDataUnit;
  private close;
  private handleResetConfigs;
  private handleCancel;
  private handleSave;
  render(): any;
}
