export declare class SnkMessageBuilder {
  private _appMessages;
  private _lang;
  private _defaults;
  private _messageResourceEnUS;
  private _messageResourceEsES;
  private _currentOperation;
  private _domainName;
  private _application;
  constructor(domainName?: string);
  /**
   * É possível definir um ponteiro de função para modificar
   * a mensagem de acordo com a conveniência da aplicação
  */
  customMessageBuilder: (key: string, defaultMessage: string, params: any) => {
    message: string;
    params: any;
  };
  /**
   * Existem mensagens sensíveis a operação. Por exemplo, a mensagem
   * de inclusão pode ser diferente da mensagem de alteração do mesmo
   * recurso. Para isso "currentOperation" pode variar de acordo com
   * OperationMap.
   */
  set currentOperation(op: OperationMap);
  /**
   * Método usado para se obter mensagens, respeitando o padrão do sistema
   * ou as mensagens específicas de cada tela
   *
   * @param key Chave usada para obter mensagens. Deve-se usar o separador "."
   * alcançar diversos níveis.
   * @param params Quando a mensagem possui o padrão {{NOME}} as ocorrências
   * serão substituidas pelo respectivo valor do param.
   * @returns A mensagem formatada.
   */
  getMessage(key: string, params?: any): string;
  /**
   * Retorna o idioma atual configurado na aplicação.
   *
   * @returns {string} O código do idioma atual (por exemplo: 'pt-BR', 'en-US', 'es-ES')
   */
  getLanguageApplication(): string;
  private getMessagesDefaults;
  private getDomainMessages;
  private resolveMessage;
  private isOperationSensitive;
  private postProcess;
  private loadAppMessages;
}
export declare enum OperationMap {
  CLONE = "clone",
  INSERT = "insert",
  UPDATE = "update",
  CLEAN = "clean",
  UPDATE_MULTIPLES = "updateMultiples"
}
