import { Component } from '../../../../shared-logic/src/Component/types';
import { VizzlyComponents } from '../../types';
import { FilterConfig } from '../../../../shared-logic/src/AdditionalFilter/types';
import { DashboardBehaviour } from '../../contexts/DashboardBehaviour/types';
import { DataSet as DataSetType } from '../../../../shared-logic/src/DataSet/types';
import { TableRepresentation } from '../../../../shared-logic/src/DataTable/types';
export declare type DownloadType = 'data-set-download-type' | 'view-download-type' | 'view-as-png';
export declare type FileFormat = 'csv' | 'xlsx';
declare type OnFinishedArgs = {
    fileContents: string | Blob;
    fileType: 'text/csv;charset=utf-8' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
    fileName: string;
};
declare type OnFinished = (args: OnFinishedArgs) => void;
export declare const _toCSV: (tableRepresentation: TableRepresentation | null | undefined, onFinished: OnFinished, forceStringFileConents: boolean) => Promise<void>;
export declare const _toXLSX: (tableRepresentation: TableRepresentation | null | undefined, onFinished: OnFinished, forceStringFileConents: boolean) => Promise<void>;
export declare const download: (downloadType: DownloadType, dataSet: DataSetType, runQueriesCallback: VizzlyComponents.runQueriesCallbackInternal, maxCSVDownloadLimit: number, attributes: Component.Attributes, dateTimeFormatOptions: DashboardBehaviour['dateTimeFormatOptions'], numberFormatOptions: DashboardBehaviour['numberFormatOptions'], queryEngineConfig: DashboardBehaviour['queryEngineConfig'], populatedFilterConfig: FilterConfig, onFinished: ((args: OnFinishedArgs) => void) | undefined, labelFormat: DashboardBehaviour['labelFormat'], fileFormat: FileFormat, forceStringFileConents?: boolean | undefined) => Promise<void>;
export {};
