/** * useFileUpload Hook * * Hook for uploading files with progress tracking. * Progress is tracked globally via store (updated by streams). * Errors propagate through global error handling (error boundaries, global error store). * * @returns {CoreFileUploadResult} Object containing: * - `upload` - Upload a single file * - `uploadMultiple` - Upload multiple files in parallel * - `isUploading` - Whether any upload is in progress * - `currentFileIds` - IDs of files currently uploading * - `progress` - Overall upload progress (0-100) * - `cancel` - Cancel all active uploads * * @example Basic usage * ```typescript * const { upload, uploadMultiple, isUploading, currentFileIds, progress, cancel } = useFileUpload(); * * const handleUpload = async (file: File) => { * const result = await upload(file, { * entityType: 'user', * entityId: '123', * category: 'documents', * }); * console.log('Uploaded:', result); * }; * * return ( * * ); * ``` * * @example Bulk upload * ```typescript * const { uploadMultiple, isUploading, cancel } = useFileUpload(); * * const handleBulkUpload = async (files: FileList) => { * const results = await uploadMultiple(Array.from(files), { * entityType: 'project', * entityId: 'proj-456', * }); * }; * * // Cancel all uploads * cancel(); * ``` */ import { type CoreFileUploadResult } from '@plyaz/types/core'; /** * Hook for uploading files with progress tracking. * @returns Upload functions and state */ export declare function useFileUpload(): CoreFileUploadResult; //# sourceMappingURL=useFileUpload.d.ts.map