//#region packages/window/download.d.ts /** * 通用文件下载方法 */ /** * 专门用于文本下载的方法 * @param text 文本内容 * @param filename 文件名 * @param mimeType MIME 类型 */ declare function downloadText(text: string, filename?: string, mimeType?: string): void; /** * 专门用于 JSON 数据下载的方法 * @param jsonData JSON 数据 * @param filename 文件名 */ declare function downloadJSON(jsonData: object, filename?: string): void; /** * 专门用于 CSV 数据下载的方法 * @param data 二维数组或对象数组 * @param filename 文件名 * @param headers CSV 表头 */ declare function downloadCSV(data: string[][] | object[], filename?: string, headers?: string[]): void; /** * 通过 AJAX 下载文件 * @param url 文件 URL * @param filename 文件名 * @param options 请求选项 */ declare function downloadViaAJAX(url: string, filename: string, options?: RequestInit): Promise; /** * 通用文件下载方法 - 优化版 */ interface DownloadOptions { filename?: string; mimeType?: string; charset?: string; bom?: string; } /** * 通用文件下载方法 * @param data 要下载的数据 * @param options 下载选项 */ declare function downloadFile(data: BlobPart | object, options?: DownloadOptions): void; /** * 优化版 URL 下载方法 - 专门处理图片等直接下载问题 * @param url 文件 URL * @param filename 文件名(可选) * @param options 额外选项 */ declare function downloadFromURL(url: string, filename?: string, options?: { useBlob?: boolean; headers?: Record; timeout?: number; }): Promise; /** * 专门用于图片下载的方法 * @param imageUrl 图片 URL * @param filename 文件名(可选) */ declare function downloadImage(imageUrl: string, filename?: string): Promise; /** * 批量下载多个文件 * @param downloads 下载任务数组 */ declare function downloadMultipleFiles(downloads: Array<{ url: string; filename?: string; }>): Promise; //#endregion export { downloadJSON as a, downloadViaAJAX as c, downloadImage as i, downloadFile as n, downloadMultipleFiles as o, downloadFromURL as r, downloadText as s, downloadCSV as t };