import React, { type RefObject } from 'react';
import 'jb-image-input';
import type { JBImageInputWebComponent, JBImageInputConfig, JBImageInputBridge } from 'jb-image-input';
import { type EventProps } from './events-hook.js';
import { type JBImageInputAttributes } from './attributes-hook.js';
import type { JBElementStandardProps } from 'jb-core/react';
export type { JBImageInputConfig, JBImageInputBridge };
declare module "react" {
    namespace JSX {
        interface IntrinsicElements {
            'jb-image-input': JBImageInputType<any>;
        }
        interface JBImageInputType<TValue> extends React.DetailedHTMLProps<React.HTMLAttributes<JBImageInputWebComponent<TValue>>, JBImageInputWebComponent<TValue>> {
            class?: string;
            label?: string;
            message?: string;
            name?: string;
            required?: string | boolean;
        }
    }
}
export declare function JBImageInput<TValue>(props: Props<TValue>, ref: any): React.JSX.Element;
export declare namespace JBImageInput {
    var displayName: string;
}
type ImageInputProps<TValue> = EventProps<TValue> & JBImageInputAttributes<TValue> & {
    uploadType?: string;
    ref?: RefObject<JBImageInputWebComponent<TValue>>;
};
export type Props<TValue> = ImageInputProps<TValue> & JBElementStandardProps<JBImageInputWebComponent, keyof ImageInputProps<TValue>>;
