/// <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 };
