import { IExporterProvider } from './interfaces/IExporterProvider';
import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
export declare class SnkDataExporter {
  private _ezButton;
  private _dropdownParent;
  private _application;
  private _snkEmailSender;
  private _selectedNumber;
  private _itemBuilder;
  private _appLabel;
  private _customPrefix;
  private _element;
  private _items;
  private _showDropdown;
  private _releasedToExport;
  /**
   * Provedor das informações para exportação dos dados.
  */
  provider: IExporterProvider;
  /**
   * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
   */
  messagesBuilder: SnkMessageBuilder;
  private exportByEmail;
  /**
   * 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-data-exporter.msg.ts"
   */
  private getMessage;
  private positionDropdown;
  private closeDropdown;
  private setEvents;
  private controlDropdown;
  private resolveExporter;
  private getExporterStrategy;
  private getOptionKey;
  private getExportType;
  private dispatchExporter;
  private processExporter;
  private getFilteredReleasedToExport;
  private loadItems;
  private loadPersonalizedItems;
  private openPersonalizedReports;
  private parseDataType;
  private loadDropdown;
  private getElementID;
  private canShowDropdown;
  componentWillLoad(): void;
  componentDidLoad(): void;
  componentWillUpdate(): void;
  componentDidUpdate(): void;
  render(): any;
}
