import { AlertService } from '@c8y/ngx-components';
import { TranslateService } from '@ngx-translate/core';
import { DataToExport, DataToExportWithBackendCreatedFile, MergedExportDetails } from '../../datapoints-export-selector.model';
import { DataProcessingService } from './data-processing.service';
import * as i0 from "@angular/core";
export declare class DatapointsExportSelectorFileExporterService {
    private alertService;
    private datapointsExportSelectorDataProcessingService;
    private translateService;
    /**
     * Cached data is reused when both CSV and Excel files were selected for export, used for merged file.
     */
    private cachedFlatteredAndSortedSeriesExportData;
    /**
     * Cached data is reused when both CSV and Excel files were selected for export, used for raw files.
     */
    private cachedRawExportSeriesData;
    constructor(alertService: AlertService, datapointsExportSelectorDataProcessingService: DataProcessingService, translateService: TranslateService);
    getMeasurementExportedDataBlob(extension: string, dataToExport: DataToExportWithBackendCreatedFile[]): Promise<Blob | null>;
    getSeriesExportedDataBlob(fileType: string, dataToExport: DataToExport[], mergedExportDetails: MergedExportDetails): Promise<Blob | null>;
    cleanupCachedData(): void;
    private showZipCreationErrorAlert;
    private getMeasurementDataZipBlob;
    private createRawMeasurementExportedFiles;
    /**
     * Converts data to a specified file type and returns the generated blob.
     *
     * Unlike measurements, data must be transformed to an exportable file structure before exporting.
     *
     * @param fileType - The type of file to which the data points should be exported. This can be 'csv' or 'excel'.
     * @param dataToExport - An array of processed measurement data combined with the respective properties of the datapoint.
     * @param mergedExportDetails - The details for the merged export, contains date range and aggregation.
     * @returns A promise that resolves to the generated ZIP blob or null if an error occurs.
     */
    private getSeriesDataBlob;
    private transformSeriesDataToExportableFileStructure;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsExportSelectorFileExporterService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DatapointsExportSelectorFileExporterService>;
}
//# sourceMappingURL=datapoints-export-selector-file-exporter.service.d.ts.map