import React from 'react';
import { ComponentElement, PropsWithChildren, ReactNode } from 'react';
import { IconSvgProps } from '../IconSvg/IconSvg';
type CustomImageProps = {
    svgImg: ComponentElement<any, any>;
    altText: string;
};
export type TooltipVisualProps = {
    delayShow: number;
    place: 'top' | 'right' | 'bottom' | 'left';
    type: 'dark' | 'success' | 'warning' | 'error' | 'info' | 'light';
    effect: 'float' | 'solid';
    border?: boolean;
};
/*****************************************
 *  The control needs to either have a child element or needs to have an image supplied
 *  If the child element is supplied the control renders the child applying additional properties
 *  If the image is supplied the control renders a clickable image
 *  If there are no children and callback Fn is not supplied it is assumed to be a a dropdown trigger
 */
type ElementWithTooltipProps = PropsWithChildren<{
    image?: IconSvgProps | CustomImageProps;
    imageColor?: string;
    tooltipText: string;
    callbackFn?: () => void;
    className?: string;
    tooltipVisualProps?: Partial<TooltipVisualProps>;
    darkTheme?: boolean;
    size?: string;
    icon?: ReactNode;
    /** The items to show in the menu -- NOTE: this cannot be a Fragment!
     * @see https://stackoverflow.com/questions/75083605/mui-the-menu-component-doesnt-accept-a-fragment-as-a-child-consider-providing
     */
    menuItems?: React.ReactNode;
}>;
export declare const ElementWithTooltip: ({ image, callbackFn, tooltipText, className, imageColor, tooltipVisualProps, children, darkTheme, size, icon, menuItems, }: ElementWithTooltipProps) => React.ReactNode;
export {};
//# sourceMappingURL=ElementWithTooltip.d.ts.map