import { type Ref } from 'vue'; export declare const QUEUE_ENTRY_STATUS: { readonly PENDING: 0; readonly CANCELED: 1; readonly UPLOADING: 2; readonly ERROR: 3; readonly DONE: 10; }; export type QueueEntryStatus = (typeof QUEUE_ENTRY_STATUS)[keyof typeof QUEUE_ENTRY_STATUS]; export interface QueueEntry { id: string; name: string; size: string; status: QueueEntryStatus; statusName: string; percent: string | null; originalFile: File; } /** * File coming from outside the upload modal, optionally carrying the path it * had relative to the dropped folder. */ export interface ExternalUploadFile { file: File; path?: string; } export interface UseUploadReturn { container: Ref; internalFileInput: Ref; internalFolderInput: Ref; pickFiles: Ref; pickFolders: Ref; queue: Ref; message: Ref; uploading: Ref; hasFilesInDropArea: Ref; definitions: Ref<{ QUEUE_ENTRY_STATUS: typeof QUEUE_ENTRY_STATUS; }>; openFileSelector: () => void; upload: (targetFolder?: any) => void; cancel: () => void; remove: (file: QueueEntry) => void; clear: (onlySuccessful: boolean) => void; close: () => void; getClassNameForEntry: (entry: QueueEntry) => string; getIconForEntry: (entry: QueueEntry) => string; addExternalFiles: (files: Array) => void; renameEntry: (entry: QueueEntry, newName: string) => Promise; } export default function useUpload(customUploader?: any): UseUploadReturn;