import { BytescaleApiClientConfig, UploadPart } from "../public/shared/generated"; import { UploadManagerInterface } from "./model/UploadManagerInterface"; import { PreUploadInfo } from "./model/PreUploadInfo"; import { UploadSourceBlob } from "./model/UploadSourceProcessed"; import { PutUploadPartResult } from "./model/PutUploadPartResult"; import { AddCancellationHandler } from "./model/AddCancellationHandler"; import { UploadManagerParams, UploadSource, UploadResult } from "../public/shared/CommonTypes"; /** * Methods common to UploadManagerNode and UploadManagerBrowser. */ export declare abstract class UploadManagerBase implements UploadManagerInterface { protected readonly config: BytescaleApiClientConfig; protected readonly stringMimeType = "text/plain"; private readonly accountId; private readonly defaultMaxConcurrentUploadParts; private readonly intervalMs; private readonly uploadApi; constructor(config: BytescaleApiClientConfig); upload(request: UploadManagerParams): Promise; protected getBlobInfo({ value: { name, size, type } }: UploadSourceBlob): Partial & { size: number; }; protected abstract processUploadSource(data: UploadSource): TSource; protected abstract getPreUploadInfoPartial(request: UploadManagerParams, source: TSource): Partial & { size: number; }; protected abstract preUpload(source: TSource): TInit; protected abstract postUpload(init: TInit): Promise; protected abstract doPutUploadPart(part: UploadPart, contentLength: number, source: TSource, onProgress: (totalBytesTransferred: number) => void, addCancellationHandler: AddCancellationHandler): Promise; private onIntervalTick; private makeCancellationMethods; /** * Returns a callback, which when called, returns a callback that can be used by ONE specific part to report its progress. */ private makeOnProgressForPartFactory; private makeProgressEvent; private assertNotCancelled; private isCancelled; private beginUpload; private uploadPart; /** * Returns etag for the part. */ private putUploadPart; private getUploadPart; private getPreUploadInfo; private mapAsync; }