import type { UploadResult, ImageUploadOptions, VideoUploadOptions } from "../types.js"; export type FileUploadStatus = { status: "idle"; } | { status: "preparing"; } | { status: "uploading"; part: number; totalParts: number; progress: number; } | { status: "completing"; } | { status: "done"; result: UploadResult; } | { status: "paused"; part: number; totalParts: number; progress: number; } | { status: "error"; error: Error; }; export interface BatchFileState { file: File; fileId: string | null; uploadId: string | null; status: FileUploadStatus; } export type BatchUploadStatus = "idle" | "preparing" | "uploading" | "done" | "error"; export interface BatchUploadState { status: BatchUploadStatus; batchId: string | null; files: BatchFileState[]; totalProgress: number; } export interface BatchUploadOptions { bucket?: string; image?: ImageUploadOptions; video?: VideoUploadOptions; isPrivate?: boolean; captionLanguages?: string[]; } export declare function useBatchUpload(): { state: BatchUploadState; upload: (files: File[], opts?: BatchUploadOptions) => Promise; pauseFile: (fileId: string) => void; pauseAll: () => void; resumeFile: (fileId: string) => Promise; resumeAll: () => Promise; abortFile: (fileId: string) => Promise; abortAll: () => Promise; reset: () => void; }; //# sourceMappingURL=use-batch-upload.d.ts.map