import { ALiYunZone } from '../../types/ALiYun'; import OSS from 'ali-oss'; export declare class ALiYunInstance { private accessKey; private secretKey; constructor(accessKey: string, secretKey: string); getUploadInfo(bucket: string, zone: ALiYunZone, key?: string): { key: string | undefined; accessKey: string; policy: string; signature: string; uploadHost: string; bucket: string; }; private getSignInfo; removeFile(srcBucket: string, zone: ALiYunZone, srcKey: string): Promise; isExistObject(srcBucket: string, zone: ALiYunZone, srcKey: string): Promise; /** * 初始化分片上传 * https://help.aliyun.com/zh/oss/developer-reference/initiate-a-multipart-upload-task */ initiateMultipartUpload(bucket: string, zone: ALiYunZone, key: string, options?: { headers?: Record; timeout?: number; stsToken?: string; accessKeyId?: string; accessKeySecret?: string; }): Promise<{ uploadId: string; bucket: string; name: string; }>; /** * 为分片上传生成预签名 URL * @param bucket 桶 * @param key 对象键 * @param uploadId 上传 ID * @param from 起始分片号 * @param to 结束分片号 * @param options 配置项 * @returns 分片预签名 URL 列表 */ presignMulti(bucket: string, zone: ALiYunZone, key: string, uploadId: string, from: number, to: number, options?: { expires?: number; headers?: Record; timeout?: number; stsToken?: string; accessKeyId?: string; accessKeySecret?: string; }): Promise<{ partNumber: number; uploadUrl: string; }[]>; /** * 准备分片上传(初始化并生成所有分片的预签名URL) * 用于前端直传场景,返回 uploadId 和每个分片的上传 URL */ prepareMultipartUpload(bucket: string, zone: ALiYunZone, key: string, partCount: number, options?: { expires?: number; headers?: Record; timeout?: number; stsToken?: string; accessKeyId?: string; accessKeySecret?: string; }): Promise<{ uploadId: string; parts: { partNumber: number; uploadUrl: string; }[]; }>; /** * 上传分片 * https://help.aliyun.com/zh/oss/developer-reference/upload-parts */ uploadPart(bucket: string, zone: ALiYunZone, key: string, uploadId: string, partNumber: number, file: any, start?: number, end?: number, options?: { timeout?: number; stsToken?: string; accessKeyId?: string; accessKeySecret?: string; }): Promise<{ etag: string; name: string; }>; /** * 完成分片上传 * https://help.aliyun.com/zh/oss/developer-reference/complete-a-multipart-upload-task */ completeMultipartUpload(bucket: string, zone: ALiYunZone, key: string, uploadId: string, parts: Array<{ number: number; etag: string; }>, options?: { headers?: Record; timeout?: number; stsToken?: string; }): Promise<{ bucket: string; name: string; etag: string; }>; /** * 取消分片上传 * https://help.aliyun.com/zh/oss/developer-reference/abort-a-multipart-upload-task */ abortMultipartUpload(bucket: string, zone: ALiYunZone, key: string, uploadId: string, options?: { timeout?: number; stsToken?: string; }): Promise; /** * 列举已上传的分片 * https://help.aliyun.com/zh/oss/developer-reference/list-uploaded-parts */ listParts(bucket: string, zone: ALiYunZone, key: string, uploadId: string, options?: { 'max-parts'?: number; 'part-number-marker'?: number; stsToken?: string; }): Promise<{ parts: { partNumber: any; lastModified: any; etag: any; size: any; }[]; nextPartNumberMarker: number; isTruncated: boolean; }>; /** * 列举所有执行中的分片上传任务 * https://help.aliyun.com/zh/oss/developer-reference/list-initiated-multipart-upload-tasks */ listMultipartUploads(bucket: string, zone: ALiYunZone, options?: { prefix?: string; 'max-uploads'?: number; 'key-marker'?: string; 'upload-id-marker'?: string; stsToken?: string; }): Promise<{ uploads: { name: any; uploadId: any; initiated: any; }[]; nextKeyMarker: any; nextUploadIdMarker: any; isTruncated: boolean; }>; /** * 获取签名URL * https://help.aliyun.com/zh/oss/developer-reference/authorize-access-4 */ getSignedUrl(bucket: string, zone: ALiYunZone, key: string, options?: { expires?: number; method?: 'GET' | 'PUT' | 'DELETE' | 'POST'; process?: string; response?: Record; }): Promise; /** * 获取预签名对象URL(统一接口) */ presignObjectUrl(method: 'GET' | 'PUT' | 'POST' | 'DELETE', bucket: string, zone: ALiYunZone, key: string, options?: { expires?: number; process?: string; response?: Record; }): Promise<{ url: string; headers?: Record; formdata?: Record; }>; }