import IGirafeContext from '../context/icontext.js';
/**
 * Definition for grid columns.
 */
type GridColumnDef = {
    /**
     * Name of a column.
     */
    name: string;
};
export default class CsvManager {
    private readonly context;
    constructor(context: IGirafeContext);
    private get config();
    /**
     * Generate a CSV.
     * @param data Entries/objects to include in the CSV.
     * @param columnDefs Column definitions.
     * @returns The CSV file as string.
     */
    private generateCsv;
    /**
     * @param values Values.
     * @returns CSV row.
     */
    private getRow;
    /**
     * Generate a CSV and start a download with the generated file.
     * @param data Entries/objects to include in the CSV.
     * @param columnDefs Column definitions.
     * @param fileName The CSV file name, without the extension.
     */
    startDownload(data: {
        [x: string]: unknown;
    }[], columnDefs: GridColumnDef[], fileName: string): void;
}
export {};
