import { type SheetCell } from "./file_headers"; /** * Split CSV text into rows of raw cells, RFC 4180 style. * * Quoted fields may contain the delimiter, newlines and doubled quotes; this is * the inverse of what the export's `entryToCSVRow` writes (every cell quoted, * quotes doubled, CRLF line ends), so an exported file reads back into the cells * it was built from. */ export declare function parseCsvRows(text: string, delimiter?: string): string[][]; /** * Pick the delimiter that splits the header row into the most cells. A * single-column file matches nothing and stays on the comma. */ export declare function detectCsvDelimiter(text: string): string; export interface ParsedCsv { headers: string[]; data: Record[]; } /** * Parse CSV text into one object per row, keyed by the header row. * * A blank cell (or one holding only spaces) is left out of its row, like an empty * spreadsheet cell and as SheetJS did. As `""` it became 0, false, an Invalid Date * or a reference to "" (which fails the whole save) once mapped, and replaced the * collection's defaults; FireCMS's own export writes every null as a blank cell. * Header naming (blank and repeated headers) is shared with the .xlsx reader. */ export declare function parseCsvToObjects(text: string): ParsedCsv;