import { TaskQueue } from '../upload-core/TaskQueue'; import type { RequestStrategy } from './RequestStrategy.ts'; import type { ChunkSplitor } from './split/ChunkSplitor.ts'; import type { Chunk } from './split/FileChunk.ts'; export interface FileListener { uploadSuccessListener(chunk: Chunk): void; chunkListener(chunks: Chunk[]): void; chunkEndListener(hash: string): void; } export declare class MaxFileUpload { private requestStrategy; private splitStrategy; private taskQueue; private file; private token; private uploadEmitter; private chunkSize; private fileListener; setFileListener(listener: FileListener): this; setRequestStrategy(requestStrategy: RequestStrategy): this; setSplitStrategy(splitStrategy: ChunkSplitor): this; setTaskQueue(taskQueue: TaskQueue): this; setFile(file: File): this; setToken(token: string): this; setChunkSize(chunkSize: number): this; static with(file: File): MaxFileUpload; private constructor(); start(): Promise; private handleChunks; uploadChunk(chunk: Chunk): Promise; private handleWholeHash; }