//#region src/lib/catbox.d.ts /** * Uploads a file to Catbox from a `URL`. * * For anonymous uploads do not supply a `userhash`. * * Only files uploaded with a `userhash` **CAN** be **removed** later. * * Use `signal` for timeout/retries logic. * * @example * const myUserhash = "####"; * const controller = new AbortController(); * setTimeout(() => controller.abort(), 5000); * * const result = await uploadUrl("https://example.com/file.txt", { * userhash: myUserhash, * signal: controller.signal, * }); * * @param url URL of the file to upload. * @param options Options with `userhash` and `signal`. * * @returns Catbox file URL. * @throws For invalid inputs or upload failures and error responses. */ declare const uploadUrl: (url: string, options?: { userhash?: string; signal?: AbortSignal; }) => Promise; /** * Uploads a file to Catbox from a `File`. * * For anonymous uploads do not supply a `userhash`. * * Only files uploaded with a `userhash` **CAN** be **removed** later. * * Use `signal` for timeout/retries logic. * * @example * const myUserhash = "####"; * const file = new File(["content"], "file.txt", { type: "text/plain" }); * const controller = new AbortController(); * setTimeout(() => controller.abort(), 5000); * * const result = await uploadFile(file, { * userhash: myUserhash, * signal: controller.signal, * }); * * @param file `File` to upload. * @param options Options with `userhash` and `signal`. * * @returns Catbox file URL. * @throws For invalid inputs or upload failures and error responses. */ declare const uploadFile: (file: File, options?: { userhash?: string; signal?: AbortSignal; }) => Promise; /** * Deletes a file uploaded to Catbox with a userhash. * * You **MUST** supply `userhash` the file was uploaded with. * * Only files uploaded with a `userhash` **CAN** be **removed**. * * Use `signal` for timeout/retries logic. * * @example * const myUserhash = "####"; * const file = new File(["content"], "file.txt", { type: "text/plain" }); * * const catboxFileUrl = await uploadFile(file, { userhash: myUserhash }); * const catboxFilename = toFilename(catboxFileUrl); * * const controller = new AbortController(); * setTimeout(() => controller.abort(), 5000); // abort after 5 seconds * * const result = await deleteFiles([catboxFilename], { * userhash: myUserhash, * signal: controller.signal, * }); * * @param filenames Catbox filename array. * @param options Options with required `userhash` and optional `signal`. * @throws For invalid inputs or network failures and error responses. */ declare const deleteFiles: (filenames: string[], options: { userhash: string; signal?: AbortSignal; }) => Promise; //#endregion export { deleteFiles, uploadFile, uploadUrl };