import { ExportApi } from '../ExportApi';
import { ExportState, Report, ReportData, ReportSchedule, SystemReportNames } from '../../PredefinedConfig/ExportState';
import { ApiBase } from './ApiBase';
import { AdaptableForm } from '../../PredefinedConfig/Common/AdaptableForm';
import { AdaptableReportColumn, CustomDestination, ExportFormContext, ExternalReport } from '../../AdaptableOptions/ExportOptions';
import { ExportDestination } from '../../PredefinedConfig/Common/Enums';
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
import { ExportInternalApi } from '../Internal/ExportInternalApi';
export declare class ExportApiImpl extends ApiBase implements ExportApi {
    internalApi: ExportInternalApi;
    constructor(_adaptable: IAdaptable);
    getExportState(): ExportState;
    getCurrentReportName(): string;
    getCurrentReport(): Report;
    getReportByName(reportName: string): Report | undefined;
    getReportById(id: Report['Uuid']): Report;
    getDestinationByName(destinationName: ExportDestination | string): ExportDestination | CustomDestination | undefined;
    getCurrentDestination(): ExportDestination | CustomDestination;
    getAvailableSystemReports(): SystemReportNames;
    getAvailableExportDestinations(): ExportDestination[];
    getReports(): Report[];
    getReportSchedules(): ReportSchedule[];
    runReport(reportName: string, destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
    runSystemReport(systemReportName: 'Visual Data' | 'All Data' | 'Current Data' | 'Selected Cells' | 'Selected Rows', destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
    selectReport(reportName: string): void;
    selectDestination(destinationName: string): void;
    getCustomDestinations(): CustomDestination[];
    isExportDestinationCustom(destinationName: string): boolean;
    getExportDestinationForm(destinationName: string): AdaptableForm<ExportFormContext> | undefined;
    canExportToExcel(): boolean;
    exportDataToExcel(reportData: ReportData, fileName: string): void;
    openExportSettingsPanel(): void;
    editReport(report: Report): Report;
    editReports(reports: Report[]): Report[];
    exportVisualDataToExcel(): void;
    getExternalReports(): ExternalReport[];
    isExternalReport(report: Report): boolean;
    runExternalReport(externalReportName: string): ReportData | undefined;
    getReportDataForReport(reportName: string): ReportData | undefined;
    isColumnExportable(adaptableColumn: AdaptableReportColumn): boolean;
}
