/** * Triggers a file download from a given object URL, handling browser-specific behaviors. * Creates a hidden anchor element to initiate the download, sets the filename if supported, * and performs cleanup by removing the anchor and revoking the object URL. * * @param objectUrl - The object URL (e.g., created from a Blob) to download. * @param filename - The desired filename for the downloaded file. * @remarks * - In Firefox and Safari, the filename may not be set due to Content-Security-Policy restrictions. * - The object URL is revoked after a 2-second delay to avoid premature revocation issues. * @internal */ export declare function downloadFromUrl(objectUrl: string, filename: string): void; /** * Downloads the given blob using an object url using a temporary anchor element. * * @param blob - The blob to download * @param filename - The filename to use, for the downloaded blob. Note however, for * Firefox the given filename will be ignored and a random filename will be used. It * will have the correct extension however as per blob type e.g. 'csv'. * @internal */ export declare function downloadBlob(blob: Blob, filename: string): void; /** * Downloads raw string data into CSV file * * @param csvString - separated with comma string to parse to a csv file * @param fileName - name for the created file * @internal */ export declare function downloadCSV(csvString: string, fileName: string): void; /** * Escapes a value for CSV. Arrays will be stringified before escaping. * If the value contains double quotes, these are escaped by doubling them. * If the value contains CSV injection characters, these are escaped by prefixing the value with a single quote. * If the value contains special characters, these are escaped by enclosing the entire string in double quotes. * * @param original - original cell value * * @returns The escaped value. If the value is undefined or null, an empty string is returned. * @internal */ export declare function escapeForCSV(original: unknown): string;