import { HtmlRR0Context } from "../../RR0Context.js";
import { Datasource } from "./Datasource.js";
import { CsvMapper } from "./CsvMapper.js";
import { FileSource } from "./FileSource.js";
import { HtmlSsgContext } from "ssg-api";
export declare class CsvFileSource<S> extends FileSource {
    protected static readonly specialChars: RegExp;
    readonly mapper: CsvMapper<S>;
    constructor(encoding?: BufferEncoding, separator?: string);
    /**
     * Get the file name to read/write data from an external datasource.
     *
     * @param context
     * @param datasource
     * @protected
     */
    fileName(context: HtmlSsgContext, datasource: Datasource<S>): string;
    write(context: HtmlRR0Context, datasourceCases: S[], fetchTime: Date, datasource: Datasource<any>): string;
}
