imgbb-webp-uploader
Version:
A utility for converting images to WebP format and uploading them to ImgBB
29 lines (28 loc) • 1.11 kB
TypeScript
/// <reference types="react" />
import { ImgBBUploadOptions, ImgBBUploadResponse } from '../services/imgbbUploader';
interface UseImgBBUploaderOptions extends Omit<ImgBBUploadOptions, 'onProgress'> {
onSuccess?: (response: ImgBBUploadResponse) => void;
onError?: (error: Error) => void;
}
interface UseImgBBUploaderReturn {
selectedFile: File | null;
previewUrl: string | null;
isUploading: boolean;
uploadedImage: ImgBBUploadResponse | null;
error: string | null;
progress: number;
originalSize: string;
webpSize: string;
sizeReduction: number;
handleFileChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
uploadImage: () => Promise<void>;
uploadFile: (file: File) => Promise<void>;
resetUpload: () => void;
}
/**
* React hook for uploading images to ImgBB with WebP conversion
* @param options Upload options
* @returns Hook state and functions
*/
export declare const useImgBBUploader: (options: UseImgBBUploaderOptions) => UseImgBBUploaderReturn;
export type { ImgBBUploadResponse, ImgBBUploadOptions };