/// /// /// import type { DataItem, DataItemCreateOptions } from "arbundles"; import type { Readable } from "stream"; import { EventEmitter } from "events"; import type Api from "./api.js"; import { type Arbundles, type Token, type UploadOptions, type UploadResponse } from "./types.js"; import type { AxiosResponse } from "axios"; type ChunkingUploaderEvents = { chunkUpload: ({ id, offset, size, totalUploaded }: { id: number; offset: number; size: number; totalUploaded: number; }) => void; chunkError: ({ id, offset, size, res }: { id: number; offset: number; size: number; res: AxiosResponse; }) => void; resume: () => void; pause: () => void; done: (finishedUpload: any) => void; }; export declare interface ChunkingUploader { on(event: U, listener: ChunkingUploaderEvents[U]): this; emit(event: U, ...args: Parameters): boolean; } export declare class ChunkingUploader extends EventEmitter { protected tokenConfig: Token; protected api: Api; uploadID: string; protected token: string; protected chunkSize: number; protected batchSize: number; protected paused: boolean; protected isResume: boolean; protected uploadOptions: UploadOptions | undefined; protected arbundles: Arbundles; constructor(tokenConfig: Token, api: Api); setResumeData(uploadID: string | undefined): this; /** * Note: Will return undefined unless an upload has been started. * @returns */ getResumeData(): string | undefined; setChunkSize(size: number): this; setBatchSize(size: number): this; pause(): void; resume(): void; uploadTransaction(data: Readable | Buffer | DataItem, opts?: UploadOptions): Promise>; uploadData(dataStream: Readable | Buffer, options?: DataItemCreateOptions & { upload?: UploadOptions; }): Promise>; runUpload(dataStream: Readable | Buffer, transactionOpts?: DataItemCreateOptions & { upload?: UploadOptions; }): Promise>; get completionPromise(): Promise>; } export {};