import { ApiBase } from '../Implementation/ApiBase';
import { CellDataChangedInfo } from '../../AdaptableState/Common/CellDataChangedInfo';
import { Report, ReportData, ReportFormatType, ReportNameType, SystemReportName } from '../../AdaptableState/ExportState';
import { CsvCell, ExcelCell, ExcelDataType } from 'ag-grid-enterprise';
import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
import { BaseExportContext, ExportDestinationType, ExportResultData, ProcessExportContext } from '../../AdaptableOptions/ExportOptions';
import { ExportProcessData } from '../../agGrid/AgGridExportAdapter';
export declare class ExportInternalApi extends ApiBase {
    /**
     * Value Items for Report Name Selection
     */
    getAllAvailableReportNames(): string[];
    isDataChangeInReport(cellDataChangedInfo: CellDataChangedInfo, report: Report): boolean;
    setExportInProgress(reportName: ReportNameType, reportFormat: ReportFormatType, exportDestination: ExportDestinationType): void;
    setExportComplete(): void;
    isVisualDataExportInProgress(): boolean;
    createSystemReport(systemReportName: SystemReportName): Report;
    isSystemReport(reportName: ReportNameType): boolean;
    isSystemDestination(destination: ExportDestinationType): boolean;
    isSystemReportActive(reportName: SystemReportName): boolean;
    getReportColumnScopeShortDescription(report: Report): string[];
    getReportColumnScopeLongDescription(report: Report): string;
    getReportExpressionDescription(report: Report, cols: AdaptableColumn[]): string;
    convertReportDataToArray(reportData: ReportData): any[][];
    publishLiveLiveDataChangedEvent(reportDestination: 'ipushpull' | 'OpenFin', liveDataTrigger: 'Connected' | 'Disconnected' | 'SnapshotSent' | 'LiveDataStarted' | 'LiveDataStopped' | 'LiveDataUpdated', liveReport?: any): void;
    getReportFileName(reportName: string, reportFormat: ReportFormatType, destination: ExportDestinationType): string;
    sendReportToDestination(reportResult: ExportResultData, report: Report, format: ReportFormatType, destination: ExportDestinationType): void;
    private sendReportToCustomDestination;
    buildBaseExportContext(reportName: ReportNameType, reportFormat: ReportFormatType, exportDestination?: ExportDestinationType): BaseExportContext;
    createCellCsv(cellContent: any): CsvCell;
    createCellExcel(cellContent: any, cellType: ExcelDataType): ExcelCell;
    createCellHeader(cellContent: any): ExcelCell;
    buildProcessExportContext(report: Report, format: ReportFormatType, destination: ExportDestinationType): ProcessExportContext;
    exportAllDataInPivotMode(exportProcessData: ExportProcessData): ExportResultData | null;
    private buildExcelConverter;
    private buildCsvConverter;
    private executeGridExport;
    private buildCsvExportParams;
}
