import { Subscription } from 'rxjs'; import { ngeoCsvEncoding, ngeoCsvExtension, ngeoCsvIncludeHeader, ngeoCsvQuote, ngeoCsvSeparator } from 'gmfapi/store/config'; /** * Definition for grid columns. */ type GridColumnDef = { /** * Name of a column. */ name: string; }; export declare class DownloadCsvService { encoding_: ngeoCsvEncoding; extension_: ngeoCsvExtension; includeHeader_: ngeoCsvIncludeHeader; quote_: ngeoCsvQuote; separator_: ngeoCsvSeparator; subscriptions: Subscription[]; constructor(); /** * Generate a CSV. * @param {Object[]} data Entries/objects to include in the CSV. * @param {GridColumnDef[]} columnDefs Column definitions. * @returns {string} The CSV file as string. */ generateCsv(data: { [x: string]: string | number; }[], columnDefs: GridColumnDef[]): string; /** * @param {string[]} values Values. * @returns {string} CSV row. */ getRow_(values: (string | number)[]): string; /** * Generate a CSV and start a download with the generated file. * @param {Object[]} data Entries/objects to include in the CSV. * @param {GridColumnDef[]} columnDefs Column definitions. * @param {string} fileName The CSV file name, without the extension. */ startDownload(data: { [x: string]: string | number; }[], columnDefs: GridColumnDef[], fileName: string): void; } declare const downloadCsvService: DownloadCsvService; export default downloadCsvService;