import { ExportApi } from '../ExportApi';
import { ExportState, Report, ReportFormatType, ReportNameType, SystemReportFormat, SystemReportName } from '../../AdaptableState/ExportState';
import { ApiBase } from './ApiBase';
import { AdaptableForm } from '../../AdaptableState/Common/AdaptableForm';
import { CustomDestination, CustomExportParams, ExportDestinationType, ExportFormContext, ExportResultData, SystemExportDestination } from '../../AdaptableOptions/ExportOptions';
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
import { ExportInternalApi } from '../Internal/ExportInternalApi';
import { AdaptableColumn } from '../../types';
export declare class ExportApiImpl extends ApiBase implements ExportApi {
    internalApi: ExportInternalApi;
    constructor(_adaptable: IAdaptable);
    getExportState(): ExportState;
    getCurrentReportName(): ReportNameType;
    getCurrentReportFormat(): ReportFormatType | undefined;
    getCurrentReport(): Report;
    getReportByName(reportName: string): Report | undefined;
    getReportById(id: Report['Uuid']): Report;
    getDestinationByName(destinationName: ExportDestinationType): SystemExportDestination | CustomDestination | undefined;
    getAvailableSystemReports(): SystemReportName[];
    getAvailableSystemFormats(): SystemReportFormat[];
    getAvailableSystemDestinations(): SystemExportDestination[];
    getAllExportDestinations(): ExportDestinationType[];
    getAllFormats(): ReportFormatType[];
    getAllReports(): Report[];
    selectReport(reportName: ReportNameType | null): void;
    clearReport(): void;
    selectFormat(reportFormat: ReportFormatType | null): void;
    clearFormat(): void;
    getCustomDestinations(): CustomDestination[];
    isExportDestinationCustom(destinationName: string): boolean;
    getExportDestinationForm(destinationName: string): AdaptableForm<ExportFormContext> | undefined;
    canExportToExcel(): boolean;
    canExportToCsv(): boolean;
    openExportSettingsPanel(): void;
    updateReport(report: Report): Report;
    updateReports(reports: Report[]): Report[];
    getCustomReports(): Report[];
    isColumnExportable(adaptableColumn: AdaptableColumn): boolean;
    getSupportedExportDestinations(reportFormat: ReportFormatType): ExportDestinationType[];
    exportReport(reportName: ReportNameType, format: ReportFormatType, destination?: ExportDestinationType, config?: {
        exportParams?: (defaultExportParams: CustomExportParams) => CustomExportParams;
        showProgressIndicator?: boolean;
    }): Promise<void>;
    getReportData(reportName: ReportNameType, format: ReportFormatType, config?: {
        exportParams?: (defaultExportParams: CustomExportParams) => CustomExportParams;
        showProgressIndicator?: boolean;
    }): Promise<ExportResultData>;
    private processExport;
}
