import { type ComponentPropsWithoutRef, type PropsWithChildren } from 'react';
import { type ButtonProps } from '../Button';
export declare const useImageUploadContext: () => {
    image?: string;
    onClear?: () => void;
};
export type ImageUploadProps = PropsWithChildren<{
    image?: string;
    maxFileSize?: number;
    onUpload?: (image?: string) => void;
    onClear?: () => void;
}>;
export declare const ImageUpload: ({ children, image, maxFileSize, onUpload, onClear, }: ImageUploadProps) => import("react/jsx-runtime").JSX.Element;
export type ImageUploadPreviewProps = ComponentPropsWithoutRef<'img'> & {
    asChild?: boolean;
};
export declare const ImageUploadPreview: ({ asChild, className, ...props }: ImageUploadPreviewProps) => import("react/jsx-runtime").JSX.Element;
export type ImageUploadClearProps = ButtonProps & {
    asChild?: boolean;
};
export declare const ImageUploadClear: ({ asChild, ...props }: ImageUploadClearProps) => import("react/jsx-runtime").JSX.Element | null;
