/** * Values typed into a spreadsheet or a CSV as text, read once the property they * are mapped to says what they should be. */ /** * A number written as text: `1234`, `-12.5`, `1,234.5`, `$5.00`, `50%`, `(100)`, * `1.234,5`, `12,5`, `1 234`. * * With both separators, the one written last is the decimal mark. A lone comma * followed by exactly three digits groups thousands (`1,234` is 1234, as SheetJS * read it); any other lone comma is a decimal mark (`12,5`, from a comma-decimal * locale). Anything else is null rather than NaN: `Number("1,234")` is NaN, and * NaN was written to the document. */ export declare function parseNumberText(text: string): number | null; /** * `TRUE`, `True`, `yes`, `1`, and their opposites. Excel and Google Sheets write * booleans in capitals. Null when the text is neither. */ export declare function parseBooleanText(text: string): boolean | null; /** Whether the text is an ISO 8601 date or date-time: a date column, not a text one. */ export declare function isIsoDateText(text: string): boolean; /** * A date written as text. * * An ISO date or date-time without a zone (`2024-01-15`, `2024-01-15 10:30`) is * that wall-clock reading in the viewer's zone, as a spreadsheet date cell is. * `new Date("2024-01-15")` alone is UTC midnight, which FireCMS shows as the day * before anywhere west of UTC. With a zone it is that instant. Any other text goes * to `new Date`, and is null if that can't read it either, rather than an Invalid * Date, which Firestore refuses and which failed the whole save. */ export declare function parseDateText(text: string): Date | null;