import type { PPTRaw } from './types/slides.js'; export interface ExportOptions { masterOverwrite?: boolean; ignoreMedia?: boolean; onProgress?: (progress: ProgressInfo) => void; } export interface ProgressInfo { current: number; total: number; percentage: number; completed: boolean; } export declare class PPTXExporter { private pptData; private options; private environment; constructor(pptData: PPTRaw, options?: ExportOptions); /** * 获取当前运行环境 */ getEnvironment(): string; /** * 报告导出进度 */ private reportProgress; /** * 获取支持的导出格式 */ getSupportedFormats(): string[]; private _export; /** * 导出PPTX文件 * @param fileName 文件名 * @param compression 是否启用压缩 * @returns 导出的文件 * @throws 在浏览器环境中会触发下载,在Node.js环境中会保存到磁盘 */ toFile(fileName?: string, compression?: boolean): Promise; /** * 导出PPTX文件为Buffer (仅Node.js/Bun环境) * @returns 导出的Buffer * @throws 在不支持Buffer的环境中会抛出错误 */ toBuffer(): Promise; /** * 导出PPTX文件为Blob (仅浏览器/Deno环境) * @param compression 是否启用压缩 * @returns 导出的Blob * @throws 在不支持Blob的环境中会抛出错误 */ toBlob(compression?: boolean): Promise; /** * 导出PPTX文件为Base64字符串 * @param compression 是否启用压缩 * @returns 导出的Base64字符串 */ toBase64(compression?: boolean): Promise; /** * 导出PPTX文件为ArrayBuffer * @param compression 是否启用压缩 * @returns 导出的ArrayBuffer */ toArrayBuffer(compression?: boolean): Promise; /** * 导出PPTX文件为BinaryString * @param compression 是否启用压缩 * @returns 导出的BinaryString */ toBinaryString(compression?: boolean): Promise; /** * 导出PPTX文件为Uint8Array * @param compression 是否启用压缩 * @returns 导出的Uint8Array */ toUint8Array(compression?: boolean): Promise; /** * 导出PPTX文件为流(仅Node.js环境) * @returns 导出的二进制字符串,适用于HTTP响应流 * @throws 在非Node.js环境中会抛出错误 */ toStream(): Promise; /** * 通用导出方法,支持所有输出格式 * @param options 导出选项 * @returns 导出的数据 * @throws 在不支持指定格式的环境中会抛出错误 */ export(options: { outputType: 'blob' | 'arraybuffer' | 'base64' | 'binarystring' | 'nodebuffer' | 'uint8array'; compression?: boolean; }): Promise; /** * 智能导出方法,根据环境自动选择最佳格式 * @param compression 是否启用压缩 * @returns 导出的数据 */ smartExport(compression?: boolean): Promise; } //# sourceMappingURL=index.d.ts.map