/** Escapes a CSV field: quotes as needed, guards against formula injection. */ export declare function escapeCsvField(value:unknown):string;export interface LyraCsvColumn{readonly key:string;readonly label:string;}export interface LyraBuildCsvOptions{ /** Prepends a UTF-8 byte-order mark (U+FEFF) ahead of the header row. Excel on Windows * ignores a downloaded file's MIME charset and decodes a BOM-less CSV with the system ANSI * code page, so accented, Arabic, CJK, and typographic characters render as mojibake; the BOM * makes Excel detect UTF-8 and decode correctly. Google Sheets, LibreOffice, and Numbers * already sniff UTF-8 correctly with or without it. Defaults to `false` (today's bytes, * unchanged). Never apply this to JSON -- RFC 8259 forbids a BOM there. */ readonly bom?:boolean;} /** Builds a CRLF-joined CSV string with a header row, optionally prefixed with a UTF-8 * byte-order mark (see `LyraBuildCsvOptions.bom`). */ export declare function buildCsv(rows:readonly Readonly>[],columns:readonly LyraCsvColumn[],options?:LyraBuildCsvOptions):string; /** Triggers a browser download of `content` as `filename` in `ownerDocument`'s realm. */ export declare function downloadBlob(content:string,filename:string,mime:string,ownerDocument?:Document):void;