import { type EditorConfig } from "../../../EditorConfig"; import { type MediaAsset } from "../hooks/mediaLibraryData"; export type UploadFile = NewUploadFile | UploadedFile; interface NewUploadFile { id: string; file: File; status: "idle" | "uploading" | "error"; } interface UploadedFile { id: string; file: File; status: "success"; response: MediaAsset; } interface UseMediaLibraryUploadArgs { /** * The upload is about to begin. */ onBeforeUpload: (files: UploadFile[]) => void; /** * The upload has completed. */ onComplete?: (files: UploadFile[]) => void; } /** * Uploads files to the media library. * * @description Fork of mediaPickerData.ts */ export declare function useMediaLibraryUpload(args: UseMediaLibraryUploadArgs): { isUploading: boolean; uploadingFiles: UploadFile[]; onFilesSelected: (files: File[]) => void; onRetry: (failedFile: UploadFile) => void; }; export declare function uploadMedia(params: { file: File; config: EditorConfig; }): Promise<{ url: string; id: string; tags: { id: string; name: string; created_at: number; last_modified: number; count: number; uploader_id?: string | undefined; }[]; size: number; kind: string; last_modified: number; filename: string; notes?: string | undefined; height?: number | undefined; width?: number | undefined; credits?: string | undefined; alt?: string | undefined; uploader_id?: string | undefined; extension?: string | undefined; search_highlight?: { notes?: string | undefined; credits?: string | undefined; alt?: string | undefined; filename?: string | undefined; } | undefined; }>; export {};