@visulima/storage-client 1.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/LICENSE.md +27 -0
  3. package/README.md +71 -0
  4. package/dist/core/chunked-rest-adapter.d.ts +43 -0
  5. package/dist/core/index.d.ts +11 -0
  6. package/dist/core/multipart-adapter.d.ts +34 -0
  7. package/dist/core/query-client.d.ts +57 -0
  8. package/dist/core/query-keys.d.ts +34 -0
  9. package/dist/core/tus-adapter.d.ts +43 -0
  10. package/dist/core/uploader.d.ts +183 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +1 -0
  13. package/dist/packem_shared/createAbortAll-B5vFFliA.js +1 -0
  14. package/dist/packem_shared/createAbortAll-D-x-LWNg.js +1 -0
  15. package/dist/packem_shared/createAbortBatch-CYtSbWfz.js +1 -0
  16. package/dist/packem_shared/createAbortBatch-zA0PTnOB.js +1 -0
  17. package/dist/packem_shared/createAbortItem-0f0bigbq.js +1 -0
  18. package/dist/packem_shared/createAbortItem-CIRlRD4X.js +1 -0
  19. package/dist/packem_shared/createAllAbortListener-CDrnG87k.js +1 -0
  20. package/dist/packem_shared/createAllAbortListener-CYLEWan0.js +1 -0
  21. package/dist/packem_shared/createBatchCancelledListener-Deq8lrIn.js +1 -0
  22. package/dist/packem_shared/createBatchCancelledListener-l9c0mi15.js +1 -0
  23. package/dist/packem_shared/createBatchDeleteFiles-B0SYSdYj.js +1 -0
  24. package/dist/packem_shared/createBatchDeleteFiles-Z4S-30eN.js +1 -0
  25. package/dist/packem_shared/createBatchErrorListener-CGJPEngL.js +1 -0
  26. package/dist/packem_shared/createBatchErrorListener-CJQFdXW2.js +1 -0
  27. package/dist/packem_shared/createBatchFinalizeListener-B2rEps7g.js +1 -0
  28. package/dist/packem_shared/createBatchFinalizeListener-Og0rELSL.js +1 -0
  29. package/dist/packem_shared/createBatchFinishListener-BeE6-b6E.js +1 -0
  30. package/dist/packem_shared/createBatchFinishListener-D9AOd6Cl.js +1 -0
  31. package/dist/packem_shared/createBatchProgressListener-1KpCpw7e.js +1 -0
  32. package/dist/packem_shared/createBatchProgressListener-BWW_tnse.js +1 -0
  33. package/dist/packem_shared/createBatchRetry-6E_Ivzh4.js +1 -0
  34. package/dist/packem_shared/createBatchRetry-D_F4v9oA.js +1 -0
  35. package/dist/packem_shared/createBatchStartListener-CkcMX3tq.js +1 -0
  36. package/dist/packem_shared/createBatchStartListener-DBHjoANG.js +1 -0
  37. package/dist/packem_shared/createBatchUpload-8yahZiID.js +1 -0
  38. package/dist/packem_shared/createBatchUpload-DWcVWF9h.js +1 -0
  39. package/dist/packem_shared/createChunkedRestAdapter-Df1E_Adn.js +1 -0
  40. package/dist/packem_shared/createChunkedRestUpload-CJNQp68Z.js +1 -0
  41. package/dist/packem_shared/createChunkedRestUpload-DZIOry7M.js +1 -0
  42. package/dist/packem_shared/createDeleteFile-DsUMoSxn.js +1 -0
  43. package/dist/packem_shared/createDeleteFile-_Znrnika.js +1 -0
  44. package/dist/packem_shared/createFileInput-B7WPz_-r.js +1 -0
  45. package/dist/packem_shared/createFileInput-TTI-EsSq.js +1 -0
  46. package/dist/packem_shared/createGetFile-BOV5S7mX.js +1 -0
  47. package/dist/packem_shared/createGetFile-CY2ohQF-.js +1 -0
  48. package/dist/packem_shared/createGetFileList-DGZQymc5.js +1 -0
  49. package/dist/packem_shared/createGetFileList-ZF0Luf6h.js +1 -0
  50. package/dist/packem_shared/createGetFileMeta-50LymNvf.js +1 -0
  51. package/dist/packem_shared/createGetFileMeta-DmC_OvP4.js +1 -0
  52. package/dist/packem_shared/createHeadFile-CGD6bHDS.js +1 -0
  53. package/dist/packem_shared/createHeadFile-DYb9FeQ1.js +1 -0
  54. package/dist/packem_shared/createMultipartAdapter-CoJpvX9z.js +1 -0
  55. package/dist/packem_shared/createMultipartUpload-CTats5BN.js +1 -0
  56. package/dist/packem_shared/createMultipartUpload-DF3XyOX3.js +1 -0
  57. package/dist/packem_shared/createPasteUpload-BS7pMOvb.js +1 -0
  58. package/dist/packem_shared/createPasteUpload-DemCREgp.js +1 -0
  59. package/dist/packem_shared/createPatchChunk-DqCMbHjI.js +1 -0
  60. package/dist/packem_shared/createPatchChunk-Zy6I60LN.js +1 -0
  61. package/dist/packem_shared/createPutFile-D8hN-9Ai.js +1 -0
  62. package/dist/packem_shared/createPutFile-DJraow7z.js +1 -0
  63. package/dist/packem_shared/createRetry-DPaN9i_a.js +1 -0
  64. package/dist/packem_shared/createRetry-D_fXIQUj.js +1 -0
  65. package/dist/packem_shared/createRetryListener-DonB2P-g.js +1 -0
  66. package/dist/packem_shared/createRetryListener-bMqMm13Y.js +1 -0
  67. package/dist/packem_shared/createTransformFile-C2fVfiwL.js +1 -0
  68. package/dist/packem_shared/createTransformFile-CJXLJEfg.js +1 -0
  69. package/dist/packem_shared/createTransformMetadata-BImjFF_i.js +1 -0
  70. package/dist/packem_shared/createTransformMetadata-zyl5UymO.js +1 -0
  71. package/dist/packem_shared/createTusAdapter-DM31lujI.js +1 -0
  72. package/dist/packem_shared/createTusUpload-BoM0S0Or.js +1 -0
  73. package/dist/packem_shared/createTusUpload-ClmXqmcz.js +1 -0
  74. package/dist/packem_shared/createUpload-CuZqq0nu.js +1 -0
  75. package/dist/packem_shared/createUpload-LRQ4N_cF.js +1 -0
  76. package/dist/packem_shared/createUploader-B_IjjBxw.js +1 -0
  77. package/dist/packem_shared/parseApiError-CUagSahh.js +1 -0
  78. package/dist/packem_shared/storageQueryKeys-cD4rL4b1.js +1 -0
  79. package/dist/packem_shared/useAbortAll-DeTTc8gX.js +1 -0
  80. package/dist/packem_shared/useAbortAll-DrHBz3kQ.js +1 -0
  81. package/dist/packem_shared/useAbortBatch-BoXLZH9d.js +1 -0
  82. package/dist/packem_shared/useAbortBatch-gVI48Gqa.js +1 -0
  83. package/dist/packem_shared/useAbortItem-Blw0eI13.js +1 -0
  84. package/dist/packem_shared/useAbortItem-DOVDiZFG.js +1 -0
  85. package/dist/packem_shared/useAllAbortListener-CadZ6Ohd.js +1 -0
  86. package/dist/packem_shared/useAllAbortListener-DiliYPra.js +1 -0
  87. package/dist/packem_shared/useBatchCancelledListener-CADhAnT8.js +1 -0
  88. package/dist/packem_shared/useBatchCancelledListener-CD0CULd_.js +1 -0
  89. package/dist/packem_shared/useBatchDeleteFiles-ASYuAVXn.js +1 -0
  90. package/dist/packem_shared/useBatchDeleteFiles-KthW4bon.js +1 -0
  91. package/dist/packem_shared/useBatchErrorListener-C3KwlH_D.js +1 -0
  92. package/dist/packem_shared/useBatchErrorListener-D-M1xGbQ.js +1 -0
  93. package/dist/packem_shared/useBatchFinalizeListener-BjnW3Lst.js +1 -0
  94. package/dist/packem_shared/useBatchFinalizeListener-CuVe9PGl.js +1 -0
  95. package/dist/packem_shared/useBatchFinishListener-4RjAPVhl.js +1 -0
  96. package/dist/packem_shared/useBatchFinishListener-DedP4Rm_.js +1 -0
  97. package/dist/packem_shared/useBatchProgressListener-CBAjGzmu.js +1 -0
  98. package/dist/packem_shared/useBatchProgressListener-CoYeF3Zj.js +1 -0
  99. package/dist/packem_shared/useBatchRetry-C53msBuL.js +1 -0
  100. package/dist/packem_shared/useBatchRetry-CAqFm7V8.js +1 -0
  101. package/dist/packem_shared/useBatchStartListener-BAOxxo1Y.js +1 -0
  102. package/dist/packem_shared/useBatchStartListener-DwAzFph7.js +1 -0
  103. package/dist/packem_shared/useBatchUpload-DLQNW410.js +1 -0
  104. package/dist/packem_shared/useBatchUpload-xPQlYOIK.js +1 -0
  105. package/dist/packem_shared/useChunkedRestUpload-DmXiSpyb.js +1 -0
  106. package/dist/packem_shared/useChunkedRestUpload-cKHvYQN3.js +1 -0
  107. package/dist/packem_shared/useDeleteFile-CND-6aNW.js +1 -0
  108. package/dist/packem_shared/useDeleteFile-CZUMjbYV.js +1 -0
  109. package/dist/packem_shared/useFileInput-Dvy2fNU7.js +1 -0
  110. package/dist/packem_shared/useFileInput-hIbzJ_JN.js +1 -0
  111. package/dist/packem_shared/useGetFile-CuST4rUN.js +1 -0
  112. package/dist/packem_shared/useGetFile-DvgluPgA.js +1 -0
  113. package/dist/packem_shared/useGetFileList-BiYDlEAl.js +1 -0
  114. package/dist/packem_shared/useGetFileList-D0tKDYAc.js +1 -0
  115. package/dist/packem_shared/useGetFileMeta-C2U1PExr.js +1 -0
  116. package/dist/packem_shared/useGetFileMeta-Ekre98Sg.js +1 -0
  117. package/dist/packem_shared/useHeadFile-CCu61b-B.js +1 -0
  118. package/dist/packem_shared/useHeadFile-DBQdkWZG.js +1 -0
  119. package/dist/packem_shared/useMultipartUpload-B9Vi7f5z.js +1 -0
  120. package/dist/packem_shared/useMultipartUpload-CIp4NLzf.js +1 -0
  121. package/dist/packem_shared/usePasteUpload-COdUC9xU.js +1 -0
  122. package/dist/packem_shared/usePasteUpload-_YqkCkrL.js +1 -0
  123. package/dist/packem_shared/usePatchChunk-BO3S0Tx4.js +1 -0
  124. package/dist/packem_shared/usePatchChunk-DoKsCbBH.js +1 -0
  125. package/dist/packem_shared/usePutFile-B6cFjClD.js +1 -0
  126. package/dist/packem_shared/usePutFile-bQl10v42.js +1 -0
  127. package/dist/packem_shared/useRetry-Dsq4jvkt.js +1 -0
  128. package/dist/packem_shared/useRetry-mkTUERYR.js +1 -0
  129. package/dist/packem_shared/useRetryListener-B45dL00Q.js +1 -0
  130. package/dist/packem_shared/useRetryListener-BEONt1sx.js +1 -0
  131. package/dist/packem_shared/useTransformFile-DmfsqTjp.js +1 -0
  132. package/dist/packem_shared/useTransformFile-sIkJLAwo.js +1 -0
  133. package/dist/packem_shared/useTransformMetadata-B0JbX1Ni.js +1 -0
  134. package/dist/packem_shared/useTransformMetadata-DK1561-K.js +1 -0
  135. package/dist/packem_shared/useTusUpload-CDRjQl0e.js +1 -0
  136. package/dist/packem_shared/useTusUpload-Cn1UeWo4.js +1 -0
  137. package/dist/packem_shared/useUpload-B_RxNnHC.js +1 -0
  138. package/dist/packem_shared/useUpload-CjLWLpyn.js +1 -0
  139. package/dist/react/index.d.ts +61 -0
  140. package/dist/react/index.js +1 -0
  141. package/dist/react/types.d.ts +65 -0
  142. package/dist/react/use-abort-all.d.ts +16 -0
  143. package/dist/react/use-abort-batch.d.ts +16 -0
  144. package/dist/react/use-abort-item.d.ts +16 -0
  145. package/dist/react/use-all-abort-listener.d.ts +14 -0
  146. package/dist/react/use-batch-cancelled-listener.d.ts +14 -0
  147. package/dist/react/use-batch-delete-files.d.ts +32 -0
  148. package/dist/react/use-batch-error-listener.d.ts +14 -0
  149. package/dist/react/use-batch-finalize-listener.d.ts +15 -0
  150. package/dist/react/use-batch-finish-listener.d.ts +14 -0
  151. package/dist/react/use-batch-progress-listener.d.ts +14 -0
  152. package/dist/react/use-batch-retry.d.ts +16 -0
  153. package/dist/react/use-batch-start-listener.d.ts +14 -0
  154. package/dist/react/use-batch-upload.d.ts +42 -0
  155. package/dist/react/use-chunked-rest-upload.d.ts +55 -0
  156. package/dist/react/use-delete-file.d.ts +25 -0
  157. package/dist/react/use-file-input.d.ts +32 -0
  158. package/dist/react/use-get-file-list.d.ts +46 -0
  159. package/dist/react/use-get-file-meta.d.ts +29 -0
  160. package/dist/react/use-get-file.d.ts +34 -0
  161. package/dist/react/use-head-file.d.ts +49 -0
  162. package/dist/react/use-multipart-upload.d.ts +35 -0
  163. package/dist/react/use-paste-upload.d.ts +20 -0
  164. package/dist/react/use-patch-chunk.d.ts +29 -0
  165. package/dist/react/use-put-file.d.ts +32 -0
  166. package/dist/react/use-retry-listener.d.ts +15 -0
  167. package/dist/react/use-retry.d.ts +16 -0
  168. package/dist/react/use-transform-file.d.ts +48 -0
  169. package/dist/react/use-transform-metadata.d.ts +33 -0
  170. package/dist/react/use-tus-upload.d.ts +55 -0
  171. package/dist/react/use-upload.d.ts +69 -0
  172. package/dist/solid/create-abort-all.d.ts +8 -0
  173. package/dist/solid/create-abort-batch.d.ts +8 -0
  174. package/dist/solid/create-abort-item.d.ts +8 -0
  175. package/dist/solid/create-all-abort-listener.d.ts +7 -0
  176. package/dist/solid/create-batch-cancelled-listener.d.ts +7 -0
  177. package/dist/solid/create-batch-delete-files.d.ts +29 -0
  178. package/dist/solid/create-batch-error-listener.d.ts +7 -0
  179. package/dist/solid/create-batch-finalize-listener.d.ts +7 -0
  180. package/dist/solid/create-batch-finish-listener.d.ts +7 -0
  181. package/dist/solid/create-batch-progress-listener.d.ts +7 -0
  182. package/dist/solid/create-batch-retry.d.ts +8 -0
  183. package/dist/solid/create-batch-start-listener.d.ts +7 -0
  184. package/dist/solid/create-batch-upload.d.ts +43 -0
  185. package/dist/solid/create-chunked-rest-upload.d.ts +56 -0
  186. package/dist/solid/create-delete-file.d.ts +22 -0
  187. package/dist/solid/create-file-input.d.ts +20 -0
  188. package/dist/solid/create-get-file-list.d.ts +46 -0
  189. package/dist/solid/create-get-file-meta.d.ts +29 -0
  190. package/dist/solid/create-get-file.d.ts +38 -0
  191. package/dist/solid/create-head-file.d.ts +46 -0
  192. package/dist/solid/create-multipart-upload.d.ts +36 -0
  193. package/dist/solid/create-paste-upload.d.ts +11 -0
  194. package/dist/solid/create-patch-chunk.d.ts +26 -0
  195. package/dist/solid/create-put-file.d.ts +29 -0
  196. package/dist/solid/create-retry-listener.d.ts +7 -0
  197. package/dist/solid/create-retry.d.ts +8 -0
  198. package/dist/solid/create-transform-file.d.ts +45 -0
  199. package/dist/solid/create-transform-metadata.d.ts +30 -0
  200. package/dist/solid/create-tus-upload.d.ts +56 -0
  201. package/dist/solid/create-upload.d.ts +70 -0
  202. package/dist/solid/index.d.ts +60 -0
  203. package/dist/solid/index.js +1 -0
  204. package/dist/svelte/create-abort-all.d.ts +8 -0
  205. package/dist/svelte/create-abort-batch.d.ts +8 -0
  206. package/dist/svelte/create-abort-item.d.ts +8 -0
  207. package/dist/svelte/create-all-abort-listener.d.ts +7 -0
  208. package/dist/svelte/create-batch-cancelled-listener.d.ts +7 -0
  209. package/dist/svelte/create-batch-delete-files.d.ts +29 -0
  210. package/dist/svelte/create-batch-error-listener.d.ts +7 -0
  211. package/dist/svelte/create-batch-finalize-listener.d.ts +7 -0
  212. package/dist/svelte/create-batch-finish-listener.d.ts +7 -0
  213. package/dist/svelte/create-batch-progress-listener.d.ts +7 -0
  214. package/dist/svelte/create-batch-retry.d.ts +8 -0
  215. package/dist/svelte/create-batch-start-listener.d.ts +7 -0
  216. package/dist/svelte/create-batch-upload.d.ts +23 -0
  217. package/dist/svelte/create-chunked-rest-upload.d.ts +56 -0
  218. package/dist/svelte/create-delete-file.d.ts +26 -0
  219. package/dist/svelte/create-file-input.d.ts +19 -0
  220. package/dist/svelte/create-get-file-list.d.ts +43 -0
  221. package/dist/svelte/create-get-file-meta.d.ts +26 -0
  222. package/dist/svelte/create-get-file.d.ts +41 -0
  223. package/dist/svelte/create-head-file.d.ts +46 -0
  224. package/dist/svelte/create-multipart-upload.d.ts +36 -0
  225. package/dist/svelte/create-paste-upload.d.ts +11 -0
  226. package/dist/svelte/create-patch-chunk.d.ts +26 -0
  227. package/dist/svelte/create-put-file.d.ts +29 -0
  228. package/dist/svelte/create-retry-listener.d.ts +7 -0
  229. package/dist/svelte/create-retry.d.ts +8 -0
  230. package/dist/svelte/create-transform-file.d.ts +45 -0
  231. package/dist/svelte/create-transform-metadata.d.ts +30 -0
  232. package/dist/svelte/create-tus-upload.d.ts +56 -0
  233. package/dist/svelte/create-upload.d.ts +68 -0
  234. package/dist/svelte/index.d.ts +60 -0
  235. package/dist/svelte/index.js +1 -0
  236. package/dist/vue/index.d.ts +60 -0
  237. package/dist/vue/index.js +1 -0
  238. package/dist/vue/use-abort-all.d.ts +16 -0
  239. package/dist/vue/use-abort-batch.d.ts +16 -0
  240. package/dist/vue/use-abort-item.d.ts +16 -0
  241. package/dist/vue/use-all-abort-listener.d.ts +14 -0
  242. package/dist/vue/use-batch-cancelled-listener.d.ts +14 -0
  243. package/dist/vue/use-batch-delete-files.d.ts +29 -0
  244. package/dist/vue/use-batch-error-listener.d.ts +14 -0
  245. package/dist/vue/use-batch-finalize-listener.d.ts +15 -0
  246. package/dist/vue/use-batch-finish-listener.d.ts +14 -0
  247. package/dist/vue/use-batch-progress-listener.d.ts +14 -0
  248. package/dist/vue/use-batch-retry.d.ts +16 -0
  249. package/dist/vue/use-batch-start-listener.d.ts +14 -0
  250. package/dist/vue/use-batch-upload.d.ts +43 -0
  251. package/dist/vue/use-chunked-rest-upload.d.ts +56 -0
  252. package/dist/vue/use-delete-file.d.ts +22 -0
  253. package/dist/vue/use-file-input.d.ts +33 -0
  254. package/dist/vue/use-get-file-list.d.ts +43 -0
  255. package/dist/vue/use-get-file-meta.d.ts +26 -0
  256. package/dist/vue/use-get-file.d.ts +35 -0
  257. package/dist/vue/use-head-file.d.ts +46 -0
  258. package/dist/vue/use-multipart-upload.d.ts +36 -0
  259. package/dist/vue/use-paste-upload.d.ts +21 -0
  260. package/dist/vue/use-patch-chunk.d.ts +26 -0
  261. package/dist/vue/use-put-file.d.ts +29 -0
  262. package/dist/vue/use-retry-listener.d.ts +15 -0
  263. package/dist/vue/use-retry.d.ts +16 -0
  264. package/dist/vue/use-transform-file.d.ts +45 -0
  265. package/dist/vue/use-transform-metadata.d.ts +30 -0
  266. package/dist/vue/use-tus-upload.d.ts +56 -0
  267. package/dist/vue/use-upload.d.ts +68 -0
  268. package/package.json +101 -0
@@ -0,0 +1,43 @@
1
+ import type { Accessor } from "solid-js";
2
+ import type { UploadItem } from "../core/uploader.d.ts";
3
+ import type { UploadResult } from "../react/types.d.ts";
4
+ export interface CreateBatchUploadOptions {
5
+ /** Upload endpoint URL */
6
+ endpoint: string;
7
+ /** Additional metadata to include with the upload */
8
+ metadata?: Record<string, string>;
9
+ /** Callback when batch fails */
10
+ onError?: (error: Error, batchId: string) => void;
11
+ /** Callback when batch progress updates */
12
+ onProgress?: (progress: number, batchId: string) => void;
13
+ /** Callback when batch starts */
14
+ onStart?: (batchId: string) => void;
15
+ /** Callback when batch completes successfully */
16
+ onSuccess?: (results: UploadResult[], batchId: string) => void;
17
+ }
18
+ export interface CreateBatchUploadReturn {
19
+ /** Abort a specific batch */
20
+ abortBatch: (batchId: string) => void;
21
+ /** Number of completed items in current batch */
22
+ completedCount: Accessor<number>;
23
+ /** Last batch error, if any */
24
+ error: Accessor<Error | undefined>;
25
+ /** Number of failed items in current batch */
26
+ errorCount: Accessor<number>;
27
+ /** Whether a batch is currently uploading */
28
+ isUploading: Accessor<boolean>;
29
+ /** All upload items in current batch */
30
+ items: Accessor<UploadItem[]>;
31
+ /** Current batch progress (0-100) */
32
+ progress: Accessor<number>;
33
+ /** Reset batch state */
34
+ reset: () => void;
35
+ /** Upload multiple files as a batch */
36
+ uploadBatch: (files: File[]) => string[];
37
+ }
38
+ /**
39
+ * Solid.js primitive for batch file uploads using multipart/form-data.
40
+ * @param options Upload configuration options
41
+ * @returns Batch upload functions and state signals
42
+ */
43
+ export declare const createBatchUpload: (options: CreateBatchUploadOptions) => CreateBatchUploadReturn;
@@ -0,0 +1,56 @@
1
+ import type { Accessor } from "solid-js";
2
+ import type { UploadResult } from "../react/types.d.ts";
3
+ export interface CreateChunkedRestUploadOptions {
4
+ /** Chunk size for chunked REST uploads (default: 5MB) */
5
+ chunkSize?: number;
6
+ /** Chunked REST upload endpoint URL */
7
+ endpoint: string;
8
+ /** Maximum number of retry attempts */
9
+ maxRetries?: number;
10
+ /** Additional metadata to include with the upload */
11
+ metadata?: Record<string, string>;
12
+ /** Callback when upload fails */
13
+ onError?: (error: Error) => void;
14
+ /** Callback when upload is paused */
15
+ onPause?: () => void;
16
+ /** Callback when upload progress updates */
17
+ onProgress?: (progress: number, offset: number) => void;
18
+ /** Callback when upload is resumed */
19
+ onResume?: () => void;
20
+ /** Callback when upload starts */
21
+ onStart?: () => void;
22
+ /** Callback when upload completes successfully */
23
+ onSuccess?: (file: UploadResult) => void;
24
+ /** Enable automatic retry on failure */
25
+ retry?: boolean;
26
+ }
27
+ export interface CreateChunkedRestUploadReturn {
28
+ /** Abort the current upload */
29
+ abort: () => void;
30
+ /** Last upload error, if any */
31
+ error: Accessor<Error | undefined>;
32
+ /** Whether the upload is paused */
33
+ isPaused: Accessor<boolean>;
34
+ /** Whether an upload is currently in progress */
35
+ isUploading: Accessor<boolean>;
36
+ /** Current upload offset (bytes uploaded) */
37
+ offset: Accessor<number>;
38
+ /** Pause the current upload */
39
+ pause: () => void;
40
+ /** Current upload progress (0-100) */
41
+ progress: Accessor<number>;
42
+ /** Reset upload state */
43
+ reset: () => void;
44
+ /** Last upload result, if any */
45
+ result: Accessor<UploadResult | undefined>;
46
+ /** Resume a paused upload */
47
+ resume: () => Promise<void>;
48
+ /** Upload a file using chunked REST protocol */
49
+ upload: (file: File) => Promise<UploadResult>;
50
+ }
51
+ /**
52
+ * Solid.js primitive for chunked REST file uploads.
53
+ * @param options Upload configuration options
54
+ * @returns Upload functions and state signals
55
+ */
56
+ export declare const createChunkedRestUpload: (options: CreateChunkedRestUploadOptions) => CreateChunkedRestUploadReturn;
@@ -0,0 +1,22 @@
1
+ import type { Accessor } from "solid-js";
2
+ export interface CreateDeleteFileOptions {
3
+ /** Base endpoint URL for file operations */
4
+ endpoint: string;
5
+ }
6
+ export interface CreateDeleteFileReturn {
7
+ /** Delete a file by ID */
8
+ deleteFile: (id: string) => Promise<void>;
9
+ /** Last request error, if any */
10
+ error: Accessor<Error | undefined>;
11
+ /** Whether a request is currently in progress */
12
+ isLoading: Accessor<boolean>;
13
+ /** Reset mutation state */
14
+ reset: () => void;
15
+ }
16
+ /**
17
+ * Solid.js primitive for deleting a single file using TanStack Query.
18
+ * Automatically invalidates related queries.
19
+ * @param options Hook configuration options
20
+ * @returns File deletion functions and state signals
21
+ */
22
+ export declare const createDeleteFile: (options: CreateDeleteFileOptions) => CreateDeleteFileReturn;
@@ -0,0 +1,20 @@
1
+ import type { Accessor } from "solid-js";
2
+ export interface CreateFileInputOptions {
3
+ accept?: string;
4
+ multiple?: boolean;
5
+ onFilesSelected?: (files: File[]) => void;
6
+ }
7
+ export interface CreateFileInputReturn {
8
+ files: Accessor<File[]>;
9
+ handleDragLeave: (event: DragEvent) => void;
10
+ handleDragOver: (event: DragEvent) => void;
11
+ handleDrop: (event: DragEvent) => void;
12
+ handleFileChange: (event: Event) => void;
13
+ inputRef: {
14
+ current: HTMLInputElement | undefined;
15
+ };
16
+ isDragging: Accessor<boolean>;
17
+ openFileDialog: () => void;
18
+ reset: () => void;
19
+ }
20
+ export declare const createFileInput: (options?: CreateFileInputOptions) => CreateFileInputReturn;
@@ -0,0 +1,46 @@
1
+ import type { QueryClient } from "@tanstack/solid-query";
2
+ import type { Accessor } from "solid-js";
3
+ import type { FileMeta } from "../react/types.d.ts";
4
+ export interface FileListResponse {
5
+ data: FileMeta[];
6
+ meta?: {
7
+ firstPage?: number;
8
+ firstPageUrl?: string;
9
+ lastPage?: number;
10
+ lastPageUrl?: string;
11
+ nextPageUrl?: string | undefined;
12
+ page?: number;
13
+ perPage?: number;
14
+ previousPageUrl?: string | undefined;
15
+ total?: number;
16
+ };
17
+ }
18
+ export interface CreateGetFileListOptions {
19
+ /** Whether to enable the query */
20
+ enabled?: Accessor<boolean> | boolean;
21
+ /** Base endpoint URL for file operations */
22
+ endpoint: string;
23
+ /** Maximum number of elements to retrieve */
24
+ limit?: Accessor<number> | number;
25
+ /** Page number for pagination */
26
+ page?: Accessor<number> | number;
27
+ /** Optional QueryClient to use */
28
+ queryClient?: QueryClient;
29
+ }
30
+ export interface CreateGetFileListReturn {
31
+ /** File list data */
32
+ data: Accessor<FileListResponse | undefined>;
33
+ /** Last request error, if any */
34
+ error: Accessor<Error | undefined>;
35
+ /** Whether a request is currently in progress */
36
+ isLoading: Accessor<boolean>;
37
+ /** Refetch the file list */
38
+ refetch: () => void;
39
+ }
40
+ /**
41
+ * Solid.js primitive for fetching a list of files using TanStack Query.
42
+ * Supports pagination via query parameters.
43
+ * @param options Hook configuration options
44
+ * @returns File list fetching functions and state signals
45
+ */
46
+ export declare const createGetFileList: (options: CreateGetFileListOptions) => CreateGetFileListReturn;
@@ -0,0 +1,29 @@
1
+ import type { QueryClient } from "@tanstack/solid-query";
2
+ import type { Accessor } from "solid-js";
3
+ import type { FileMeta } from "../react/types.d.ts";
4
+ export interface CreateGetFileMetaOptions {
5
+ /** Whether to enable the query */
6
+ enabled?: Accessor<boolean> | boolean;
7
+ /** Base endpoint URL for file operations */
8
+ endpoint: string;
9
+ /** File ID to fetch metadata for */
10
+ id: Accessor<string> | string;
11
+ /** Optional QueryClient to use */
12
+ queryClient?: QueryClient;
13
+ }
14
+ export interface CreateGetFileMetaReturn {
15
+ /** File metadata */
16
+ data: Accessor<FileMeta | undefined>;
17
+ /** Last request error, if any */
18
+ error: Accessor<Error | undefined>;
19
+ /** Whether a request is currently in progress */
20
+ isLoading: Accessor<boolean>;
21
+ /** Refetch the file metadata */
22
+ refetch: () => void;
23
+ }
24
+ /**
25
+ * Solid.js primitive for fetching file metadata using TanStack Query.
26
+ * @param options Hook configuration options
27
+ * @returns File metadata fetching functions and state signals
28
+ */
29
+ export declare const createGetFileMeta: (options: CreateGetFileMetaOptions) => CreateGetFileMetaReturn;
@@ -0,0 +1,38 @@
1
+ import type { QueryClient } from "@tanstack/solid-query";
2
+ import type { Accessor } from "solid-js";
3
+ import type { FileMeta } from "../react/types.d.ts";
4
+ export interface CreateGetFileOptions {
5
+ /** Whether to enable the query */
6
+ enabled?: Accessor<boolean> | boolean;
7
+ /** Base endpoint URL for file operations */
8
+ endpoint: string;
9
+ /** File ID to fetch */
10
+ id: Accessor<string> | string;
11
+ /** Callback when request fails */
12
+ onError?: (error: Error) => void;
13
+ /** Callback when request succeeds */
14
+ onSuccess?: (data: Blob, meta: FileMeta | undefined) => void;
15
+ /** Optional QueryClient to use */
16
+ queryClient?: QueryClient;
17
+ /** Transformation parameters for media files */
18
+ transform?: Accessor<Record<string, string | number | boolean> | undefined> | Record<string, string | number | boolean>;
19
+ }
20
+ export interface CreateGetFileReturn {
21
+ /** File data as Blob */
22
+ data: Accessor<Blob | undefined>;
23
+ /** Last request error, if any */
24
+ error: Accessor<Error | undefined>;
25
+ /** Whether a request is currently in progress */
26
+ isLoading: Accessor<boolean>;
27
+ /** File metadata from response headers */
28
+ meta: Accessor<FileMeta | undefined>;
29
+ /** Refetch the file */
30
+ refetch: () => void;
31
+ }
32
+ /**
33
+ * Solid.js primitive for fetching/downloading files using TanStack Query.
34
+ * Supports optional transformation parameters for media files.
35
+ * @param options Hook configuration options
36
+ * @returns File fetching functions and state signals
37
+ */
38
+ export declare const createGetFile: (options: CreateGetFileOptions) => CreateGetFileReturn;
@@ -0,0 +1,46 @@
1
+ import type { Accessor } from "solid-js";
2
+ export interface FileHeadMetadata {
3
+ /** Whether this is a chunked upload session */
4
+ chunkedUpload?: boolean;
5
+ /** Content length in bytes */
6
+ contentLength?: number;
7
+ /** Content type */
8
+ contentType?: string;
9
+ /** Entity tag for caching */
10
+ etag?: string;
11
+ /** Last modified date */
12
+ lastModified?: string;
13
+ /** Received chunk offsets (chunked uploads) */
14
+ receivedChunks?: number[];
15
+ /** Whether upload is complete (chunked uploads) */
16
+ uploadComplete?: boolean;
17
+ /** Upload expiration date */
18
+ uploadExpires?: string;
19
+ /** Upload offset for chunked uploads */
20
+ uploadOffset?: number;
21
+ }
22
+ export interface CreateHeadFileOptions {
23
+ /** Whether to enable the query */
24
+ enabled?: Accessor<boolean> | boolean;
25
+ /** Base endpoint URL for file operations */
26
+ endpoint: string;
27
+ /** File ID to fetch metadata for */
28
+ id: Accessor<string> | string;
29
+ }
30
+ export interface CreateHeadFileReturn {
31
+ /** File metadata from HEAD request */
32
+ data: Accessor<FileHeadMetadata | undefined>;
33
+ /** Last request error, if any */
34
+ error: Accessor<Error | undefined>;
35
+ /** Whether a request is currently in progress */
36
+ isLoading: Accessor<boolean>;
37
+ /** Refetch the file metadata */
38
+ refetch: () => void;
39
+ }
40
+ /**
41
+ * Solid.js primitive for fetching file metadata via HEAD request using TanStack Query.
42
+ * Useful for checking upload progress and file status without downloading.
43
+ * @param options Hook configuration options
44
+ * @returns File HEAD request functions and state signals
45
+ */
46
+ export declare const createHeadFile: (options: CreateHeadFileOptions) => CreateHeadFileReturn;
@@ -0,0 +1,36 @@
1
+ import type { Accessor } from "solid-js";
2
+ import type { UploadResult } from "../react/types.d.ts";
3
+ export interface CreateMultipartUploadOptions {
4
+ /** Upload endpoint URL */
5
+ endpoint: string;
6
+ /** Additional metadata to include with the upload */
7
+ metadata?: Record<string, string>;
8
+ /** Callback when upload fails */
9
+ onError?: (error: Error) => void;
10
+ /** Callback when upload progress updates */
11
+ onProgress?: (progress: number) => void;
12
+ /** Callback when upload starts */
13
+ onStart?: () => void;
14
+ /** Callback when upload completes successfully */
15
+ onSuccess?: (file: UploadResult) => void;
16
+ }
17
+ export interface CreateMultipartUploadReturn {
18
+ /** Last upload error, if any */
19
+ error: Accessor<Error | undefined>;
20
+ /** Whether an upload is currently in progress */
21
+ isUploading: Accessor<boolean>;
22
+ /** Current upload progress (0-100) */
23
+ progress: Accessor<number>;
24
+ /** Reset upload state */
25
+ reset: () => void;
26
+ /** Last upload result, if any */
27
+ result: Accessor<UploadResult | undefined>;
28
+ /** Upload a file using multipart/form-data */
29
+ upload: (file: File) => Promise<UploadResult>;
30
+ }
31
+ /**
32
+ * Solid.js primitive for multipart/form-data file uploads using rpldy uploader core.
33
+ * @param options Upload configuration options
34
+ * @returns Upload functions and state signals
35
+ */
36
+ export declare const createMultipartUpload: (options: CreateMultipartUploadOptions) => CreateMultipartUploadReturn;
@@ -0,0 +1,11 @@
1
+ import type { Accessor } from "solid-js";
2
+ export interface CreatePasteUploadOptions {
3
+ filter?: (file: File) => boolean;
4
+ onFilesPasted?: (files: File[]) => void;
5
+ }
6
+ export interface CreatePasteUploadReturn {
7
+ handlePaste: (event: ClipboardEvent) => void;
8
+ pastedFiles: Accessor<File[]>;
9
+ reset: () => void;
10
+ }
11
+ export declare const createPasteUpload: (options?: CreatePasteUploadOptions) => CreatePasteUploadReturn;
@@ -0,0 +1,26 @@
1
+ import type { Accessor } from "solid-js";
2
+ import type { UploadResult } from "../react/types.d.ts";
3
+ export interface CreatePatchChunkOptions {
4
+ /** Base endpoint URL for file operations */
5
+ endpoint: string;
6
+ }
7
+ export interface CreatePatchChunkReturn {
8
+ /** Last upload result, if any */
9
+ data: Accessor<UploadResult | undefined>;
10
+ /** Last request error, if any */
11
+ error: Accessor<Error | undefined>;
12
+ /** Whether a request is currently in progress */
13
+ isLoading: Accessor<boolean>;
14
+ /** Upload a chunk for chunked uploads */
15
+ patchChunk: (id: string, chunk: Blob, offset: number, checksum?: string) => Promise<UploadResult>;
16
+ /** Reset mutation state */
17
+ reset: () => void;
18
+ }
19
+ /**
20
+ * Solid.js primitive for uploading chunks in chunked uploads using TanStack Query.
21
+ * Requires X-Chunk-Offset header and chunk data.
22
+ * Automatically invalidates related queries when upload is complete.
23
+ * @param options Hook configuration options
24
+ * @returns Chunk upload functions and state signals
25
+ */
26
+ export declare const createPatchChunk: (options: CreatePatchChunkOptions) => CreatePatchChunkReturn;
@@ -0,0 +1,29 @@
1
+ import type { Accessor } from "solid-js";
2
+ import type { UploadResult } from "../react/types.d.ts";
3
+ export interface CreatePutFileOptions {
4
+ /** Base endpoint URL for file operations */
5
+ endpoint: string;
6
+ /** Callback when upload progress updates */
7
+ onProgress?: (progress: number) => void;
8
+ }
9
+ export interface CreatePutFileReturn {
10
+ /** Last upload result, if any */
11
+ data: Accessor<UploadResult | undefined>;
12
+ /** Last request error, if any */
13
+ error: Accessor<Error | undefined>;
14
+ /** Whether a request is currently in progress */
15
+ isLoading: Accessor<boolean>;
16
+ /** Current upload progress (0-100) */
17
+ progress: Accessor<number>;
18
+ /** Create or update a file by ID */
19
+ putFile: (id: string, file: File | Blob) => Promise<UploadResult>;
20
+ /** Reset mutation state */
21
+ reset: () => void;
22
+ }
23
+ /**
24
+ * Solid.js primitive for creating or updating files via PUT request using TanStack Query.
25
+ * Automatically invalidates related queries.
26
+ * @param options Hook configuration options
27
+ * @returns File PUT functions and state signals
28
+ */
29
+ export declare const createPutFile: (options: CreatePutFileOptions) => CreatePutFileReturn;
@@ -0,0 +1,7 @@
1
+ import type { UploadItem } from "../core/uploader.d.ts";
2
+ export interface CreateRetryListenerOptions {
3
+ endpoint: string;
4
+ metadata?: Record<string, string>;
5
+ onRetry: (item: UploadItem) => void;
6
+ }
7
+ export declare const createRetryListener: (options: CreateRetryListenerOptions) => void;
@@ -0,0 +1,8 @@
1
+ export interface CreateRetryOptions {
2
+ endpoint: string;
3
+ metadata?: Record<string, string>;
4
+ }
5
+ export interface CreateRetryReturn {
6
+ retryItem: (id: string) => void;
7
+ }
8
+ export declare const createRetry: (options: CreateRetryOptions) => CreateRetryReturn;
@@ -0,0 +1,45 @@
1
+ import type { Accessor } from "solid-js";
2
+ import type { FileMeta } from "../react/types.d.ts";
3
+ export interface TransformOptions {
4
+ /** Additional transformation parameters */
5
+ [key: string]: string | number | boolean | undefined;
6
+ /** Resize fit mode */
7
+ fit?: "cover" | "contain" | "fill" | "inside" | "outside";
8
+ /** Output format (jpeg, png, webp, etc.) */
9
+ format?: string;
10
+ /** Desired height in pixels */
11
+ height?: number;
12
+ /** Quality setting (0-100) */
13
+ quality?: number;
14
+ /** Desired width in pixels */
15
+ width?: number;
16
+ }
17
+ export interface CreateTransformFileOptions {
18
+ /** Whether to enable the query */
19
+ enabled?: Accessor<boolean> | boolean;
20
+ /** Base endpoint URL for transform operations */
21
+ endpoint: string;
22
+ /** File ID to transform */
23
+ id: Accessor<string> | string;
24
+ /** Transformation parameters */
25
+ transform: Accessor<TransformOptions> | TransformOptions;
26
+ }
27
+ export interface CreateTransformFileReturn {
28
+ /** Transformed file data as Blob */
29
+ data: Accessor<Blob | undefined>;
30
+ /** Last request error, if any */
31
+ error: Accessor<Error | undefined>;
32
+ /** Whether a request is currently in progress */
33
+ isLoading: Accessor<boolean>;
34
+ /** File metadata from response headers */
35
+ meta: Accessor<FileMeta | undefined>;
36
+ /** Refetch the transformed file */
37
+ refetch: () => void;
38
+ }
39
+ /**
40
+ * Solid.js primitive for fetching transformed files using TanStack Query.
41
+ * Supports image, video, and audio transformation parameters.
42
+ * @param options Hook configuration options
43
+ * @returns Transform file fetching functions and state signals
44
+ */
45
+ export declare const createTransformFile: (options: CreateTransformFileOptions) => CreateTransformFileReturn;
@@ -0,0 +1,30 @@
1
+ import type { Accessor } from "solid-js";
2
+ export interface TransformMetadata {
3
+ /** Available transformation formats */
4
+ formats?: string[];
5
+ /** Supported transformation parameters */
6
+ parameters?: string[];
7
+ }
8
+ export interface CreateTransformMetadataOptions {
9
+ /** Whether to enable the query */
10
+ enabled?: Accessor<boolean> | boolean;
11
+ /** Base endpoint URL for transform operations */
12
+ endpoint: string;
13
+ }
14
+ export interface CreateTransformMetadataReturn {
15
+ /** Transform metadata */
16
+ data: Accessor<TransformMetadata | undefined>;
17
+ /** Last request error, if any */
18
+ error: Accessor<Error | undefined>;
19
+ /** Whether a request is currently in progress */
20
+ isLoading: Accessor<boolean>;
21
+ /** Refetch the transform metadata */
22
+ refetch: () => void;
23
+ }
24
+ /**
25
+ * Solid.js primitive for fetching transformation metadata using TanStack Query.
26
+ * Returns available formats and transformation parameters.
27
+ * @param options Hook configuration options
28
+ * @returns Transform metadata fetching functions and state signals
29
+ */
30
+ export declare const createTransformMetadata: (options: CreateTransformMetadataOptions) => CreateTransformMetadataReturn;
@@ -0,0 +1,56 @@
1
+ import type { Accessor } from "solid-js";
2
+ import type { UploadResult } from "../react/types.d.ts";
3
+ export interface CreateTusUploadOptions {
4
+ /** Chunk size for TUS uploads (default: 1MB) */
5
+ chunkSize?: number;
6
+ /** TUS upload endpoint URL */
7
+ endpoint: string;
8
+ /** Maximum number of retry attempts */
9
+ maxRetries?: number;
10
+ /** Additional metadata to include with the upload */
11
+ metadata?: Record<string, string>;
12
+ /** Callback when upload fails */
13
+ onError?: (error: Error) => void;
14
+ /** Callback when upload is paused */
15
+ onPause?: () => void;
16
+ /** Callback when upload progress updates */
17
+ onProgress?: (progress: number) => void;
18
+ /** Callback when upload is resumed */
19
+ onResume?: () => void;
20
+ /** Callback when upload starts */
21
+ onStart?: () => void;
22
+ /** Callback when upload completes successfully */
23
+ onSuccess?: (file: UploadResult) => void;
24
+ /** Enable automatic retry on failure */
25
+ retry?: boolean;
26
+ }
27
+ export interface CreateTusUploadReturn {
28
+ /** Abort the current upload */
29
+ abort: () => void;
30
+ /** Last upload error, if any */
31
+ error: Accessor<Error | undefined>;
32
+ /** Whether the upload is paused */
33
+ isPaused: Accessor<boolean>;
34
+ /** Whether an upload is currently in progress */
35
+ isUploading: Accessor<boolean>;
36
+ /** Current upload offset (bytes uploaded) */
37
+ offset: Accessor<number>;
38
+ /** Pause the current upload */
39
+ pause: () => void;
40
+ /** Current upload progress (0-100) */
41
+ progress: Accessor<number>;
42
+ /** Reset upload state */
43
+ reset: () => void;
44
+ /** Last upload result, if any */
45
+ result: Accessor<UploadResult | undefined>;
46
+ /** Resume a paused upload */
47
+ resume: () => Promise<void>;
48
+ /** Upload a file using TUS protocol */
49
+ upload: (file: File) => Promise<UploadResult>;
50
+ }
51
+ /**
52
+ * Solid.js primitive for TUS resumable file uploads.
53
+ * @param options Upload configuration options
54
+ * @returns Upload functions and state signals
55
+ */
56
+ export declare const createTusUpload: (options: CreateTusUploadOptions) => CreateTusUploadReturn;
@@ -0,0 +1,70 @@
1
+ import type { Accessor } from "solid-js";
2
+ import type { UploadMethod, UploadResult } from "../react/types.d.ts";
3
+ interface CreateUploadOptions {
4
+ /** Chunk size for TUS and chunked REST uploads (default: 1MB for TUS, 5MB for chunked REST) */
5
+ chunkSize?: number;
6
+ /** Chunked REST upload endpoint URL */
7
+ endpointChunkedRest?: string;
8
+ /** Multipart upload endpoint URL */
9
+ endpointMultipart?: string;
10
+ /** TUS upload endpoint URL */
11
+ endpointTus?: string;
12
+ /** Maximum number of retry attempts (TUS and chunked REST only) */
13
+ maxRetries?: number;
14
+ /** Additional metadata to include with the upload */
15
+ metadata?: Record<string, string>;
16
+ /** Upload method to use: 'multipart', 'tus', 'chunked-rest', or 'auto'. If undefined, auto-detected based on provided endpoints */
17
+ method?: UploadMethod;
18
+ /** Callback when upload fails */
19
+ onError?: (error: Error) => void;
20
+ /** Callback when upload is paused (TUS and chunked REST only) */
21
+ onPause?: () => void;
22
+ /** Callback when upload progress updates */
23
+ onProgress?: (progress: number) => void;
24
+ /** Callback when upload is resumed (TUS and chunked REST only) */
25
+ onResume?: () => void;
26
+ /** Callback when upload starts */
27
+ onStart?: () => void;
28
+ /** Callback when upload completes successfully */
29
+ onSuccess?: (file: UploadResult) => void;
30
+ /** Enable automatic retry on failure (TUS and chunked REST only) */
31
+ retry?: boolean;
32
+ /** File size threshold for auto-selecting TUS (default: 10MB) */
33
+ tusThreshold?: number;
34
+ }
35
+ interface CreateUploadReturn {
36
+ /** Abort the current upload */
37
+ abort: () => void;
38
+ /** Current upload method being used */
39
+ currentMethod: Accessor<UploadMethod>;
40
+ /** Last upload error, if any */
41
+ error: Accessor<Error | undefined>;
42
+ /** Whether the upload is paused (TUS and chunked REST only) */
43
+ isPaused: Accessor<boolean | undefined>;
44
+ /** Whether an upload is currently in progress */
45
+ isUploading: Accessor<boolean>;
46
+ /** Current upload offset in bytes (TUS and chunked REST only) */
47
+ offset: Accessor<number | undefined>;
48
+ /** Pause the current upload (TUS and chunked REST only) */
49
+ pause: Accessor<(() => void) | undefined>;
50
+ /** Current upload progress (0-100) */
51
+ progress: Accessor<number>;
52
+ /** Reset upload state */
53
+ reset: () => void;
54
+ /** Last upload result, if any */
55
+ result: Accessor<UploadResult | undefined>;
56
+ /** Resume a paused upload (TUS and chunked REST only) */
57
+ resume: Accessor<(() => Promise<void>) | undefined>;
58
+ /** Upload a file using the configured method */
59
+ upload: (file: File) => Promise<UploadResult>;
60
+ }
61
+ /**
62
+ * Solid.js primitive for file uploads with automatic method selection.
63
+ * Uses custom uploader implementations for multipart, TUS, and chunked REST.
64
+ * Automatically chooses between methods based on file size and method preference.
65
+ * @param options Upload configuration options
66
+ * @returns Upload functions and state signals
67
+ */
68
+ declare const createUpload: (options: CreateUploadOptions) => CreateUploadReturn;
69
+ export type { CreateUploadOptions, CreateUploadReturn };
70
+ export { createUpload };