import { Request, Response } from "express";
import { Controller } from "../controller/export";
import { IErrors } from "../functions/try";
export declare abstract class CsvHandler extends Controller {
    private readonly getSession;
    errors: IErrors;
    constructor(getSession: (req: Request) => {
        userId: string;
        lang: string;
        country: string;
    });
    preprocessData(url: string, data: any): Promise<any>;
    abstract getColumns(lang: string, rows: any[]): Promise<{
        key: string;
        header: any;
    }[]>;
    abstract convertData(lang: string, rows: any[]): Promise<void>;
    getLocale(lang: string): Promise<string>;
    getTimeZone(country: string): Promise<string>;
    get: (req: Request, res: Response) => Promise<void>;
    private generateCsv;
    post(_req: Request, _res: Response): Promise<void>;
    patch(_req: Request, _res: Response): Promise<void>;
    put(_req: Request, _res: Response): Promise<void>;
    delete(_req: Request, _res: Response): Promise<void>;
}
//# sourceMappingURL=csv-handler.d.ts.map