/** * CSV serialization — ONE quoting rule for every export in the lib and the hub. * * Beyond RFC-4180 quoting, cells are FORMULA-NEUTRALIZED: a spreadsheet treats a * leading `=`, `+`, `-` or `@` as a formula, so an exported value like * `=HYPERLINK("http://evil","click")` executes on open (CSV injection). A cell * that starts with one of those AND is not a plain numeric literal gets a leading * apostrophe, which Excel/Sheets strip on display. */ export declare const CSV_CONTENT_TYPE = "text/csv;charset=utf-8;"; /** Quote + neutralize a single cell. */ export declare function csvEscape(value: unknown): string; export interface CsvColumn { /** Header text (escaped like any other cell). */ header: string; /** Cell value for a row. */ value: (row: TRow) => unknown; } /** Serialize rows to a CSV document (header + `\n`-joined rows). */ export declare function toCsv(rows: readonly TRow[], columns: readonly CsvColumn[]): string; //# sourceMappingURL=csv.d.ts.map