/** * SeaVerse Utils SDK Client */ import { UtilsClientOptions, UploadOptions, UploadResult, UploadProgress, PresignUploadResponse, CompressionConfig } from './models.js'; /** * SeaVerse Utils API Client * * 提供文件上传、图片压缩等功能,支持多租户隔离。 * 自动处理预签名 URL 上传流程: * 1. 获取预签名 URL * 2. 直接上传到 GCS * * @example * ```typescript * const client = new UtilsClient({ * token: 'your-bearer-token' * }); * * const file = document.querySelector('input[type="file"]').files[0]; * const result = await client.uploadFile(file, { * onProgress: (progress) => { * console.log(`${progress.percent}% - ${progress.stage}`); * } * }); * * console.log('CDN URL:', result.cdnUrl); * ``` */ export declare class UtilsClient { private axios; private compressionConfig; constructor(options: UtilsClientOptions); /** * 上传文件 * * 自动处理完整的上传流程: * 1. 文件验证 * 2. 图片压缩(如果启用) * 3. 获取预签名 URL * 4. 上传到 GCS * * @param file - 要上传的文件 * @param options - 上传选项 * @returns 上传结果 * @throws {UtilsAPIError} 上传失败时抛出错误 * * @example * ```typescript * const result = await client.uploadFile(file, { * onProgress: (progress) => { * console.log(`上传进度: ${progress.percent}%`); * }, * compress: true * }); * ``` */ uploadFile(file: File, options?: UploadOptions): Promise; /** * 获取预签名 URL * * @param contentType - 文件 MIME 类型 * @returns 预签名 URL 响应 * @throws {UtilsAPIError} 请求失败时抛出错误 */ getPresignedUrl(contentType: string): Promise; /** * 上传文件到预签名 URL * * 使用 XMLHttpRequest 实现,以支持上传进度回调 * * @param uploadUrl - 预签名 URL * @param file - 要上传的文件 * @param onProgress - 进度回调函数 * @throws {UtilsAPIError} 上传失败时抛出错误 */ uploadToPresignedUrl(uploadUrl: string, file: File, onProgress?: (progress: UploadProgress) => void): Promise; /** * 更新 Bearer Token * * @param token - 新的 Bearer Token */ setToken(token: string): void; /** * 更新基础 URL * * @param baseURL - 新的基础 URL */ setBaseURL(baseURL: string): void; /** * 更新压缩配置 * * @param config - 新的压缩配置 */ updateCompressionConfig(config: Partial): void; } //# sourceMappingURL=client.d.ts.map