/// import TOSBase from '../base'; import { Acl, DataTransferStatus } from '../../interface'; import { IRateLimiter } from '../../universal/rate-limiter'; import { StorageClassType } from '../../TosExportEnum'; export interface AppendObjectInput { bucket?: string; key: string; offset: number; body?: File | Blob | Buffer | NodeJS.ReadableStream; preHashCrc64ecma?: string; /** * unit: bit/s * server side traffic limit **/ trafficLimit?: number; /** * only works for nodejs environment */ rateLimiter?: IRateLimiter; contentLength?: number; cacheControl?: string; contentDisposition?: string; contentEncoding?: string; contentLanguage?: string; contentType?: string; expires?: Date; acl?: Acl; grantFullControl?: string; grantRead?: string; grantReadAcp?: string; grantWriteAcp?: string; meta?: Record; websiteRedirectLocation?: string; storageClass?: StorageClassType; dataTransferStatusChange?: (status: DataTransferStatus) => void; /** * the simple progress feature * percent is [0, 1]. * * since appendObject is stateless, so if `appendObject` fail and you retry it, * `percent` will start from 0 again rather than from the previous value. * if you need `percent` start from the previous value, you can use `uploadFile` instead. */ progress?: (percent: number) => void; headers?: { [key: string]: string | undefined; 'Cache-Control'?: string; 'x-tos-acl'?: Acl; 'x-tos-grant-full-control'?: string; 'x-tos-grant-read'?: string; 'x-tos-grant-read-acp'?: string; 'x-tos-grant-write-acp'?: string; 'x-tos-website-redirect-location'?: string; 'x-tos-storage-class'?: string; }; } export interface AppendObjectOutput { nextAppendOffset: number; hashCrc64ecma: string; 'x-tos-version-id'?: string; 'x-tos-hash-crc64ecma'?: string; 'x-tos-next-append-offset'?: string; } export declare function appendObject(this: TOSBase, input: AppendObjectInput | string): Promise>; export default appendObject;