import { IExpressionItem } from "../../interfaces/IExpressionItem";
import { SnkMessageBuilder } from "../../../../lib/message/SnkMessageBuilder";
export declare class SnkFilterParamConfig {
  private _application;
  private _promiseResolver;
  private _instanceElement;
  private _fieldElement;
  private _descriptionElement;
  private _typeElement;
  private _expressionElement;
  private _element;
  private _opened;
  private _configType;
  private _expressionItem;
  private _informedInstance;
  private _canSave;
  /**
   * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
   */
  messagesBuilder: SnkMessageBuilder;
  /**
   * Abre o modal de configuração de valor variável
   */
  open(expressionItem: IExpressionItem): Promise<IExpressionItem>;
  /**
   * Fecha o modal de configuração de valor variável
   */
  close(): Promise<IExpressionItem>;
  /**
   * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
   * através de um pequeno modulo na estrutura da aplicação:
   * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
   * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-filter-param-config.msg.ts"
   */
  private getMessage;
  private getConfigValue;
  private loadValues;
  private changeDefinitionUsed;
  private getTypeValue;
  private getExpressionValues;
  private isEnabled;
  private isInformedInstance;
  private save;
  private buildFilterExpression;
  private handleChangeInstance;
  private getInstanceCriteria;
  private onSearch;
  private getElementID;
  private getCanSave;
  componentWillLoad(): void;
  render(): any;
}
