/**
 * Copyright IBM Corp. 2024
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import React, { PropsWithChildren, ReactNode, Ref } from 'react';
import { CarbonIconType } from '@carbon/react/icons';
import { Condition, Action, Option, ConfigType } from '../ConditionBuilder.types';
interface ConditionBuilderItemProps extends PropsWithChildren {
    className?: string;
    label?: string | Option | Option[];
    renderIcon?: CarbonIconType;
    title?: string;
    showToolTip?: boolean;
    popOverClassName?: string;
    type?: string;
    description?: string;
    condition?: Action & Condition;
    config?: ConfigType;
    renderChildren?: (ref: Ref<HTMLDivElement>) => ReactNode;
    onChange?: (val: string) => void;
    tabIndex?: number;
    onMouseEnter?: (e: React.MouseEvent<HTMLButtonElement>) => void;
    onMouseLeave?: (e: React.MouseEvent<HTMLButtonElement>) => void;
    onFocus?: React.FocusEventHandler<HTMLButtonElement>;
    onBlur?: React.FocusEventHandler<HTMLButtonElement>;
}
export declare const ConditionBuilderItem: {
    ({ children, className, label, renderIcon, title, type, showToolTip, condition, popOverClassName, config, renderChildren, onChange, description, ...rest }: ConditionBuilderItemProps): React.JSX.Element;
    propTypes: {
        /**
         * provide the contents of the popover
         */
        children: any;
        /**
         * Provide an optional class to be applied to the containing node.
         */
        className: any;
        /**
         * current condition state object
         */
        condition: any;
        /**
         * this is the config object again the current property from inputConfig
         */
        config: any;
        /**
         * text to be displayed in the field
         */
        label: any;
        /**
         * callback to update the current condition of the state tree
         */
        onChange: any;
        /**
         * class name for popover
         */
        popOverClassName: any;
        /**
         * callback prop that returns the jsx for children
         */
        renderChildren: any;
        /**
         * Optional prop to allow overriding the icon rendering.
         */
        renderIcon: any;
        /**
         * show tool tip
         */
        showToolTip: any;
        /**
         * title of the popover
         */
        title: any;
        /**
         * input type
         */
        type: any;
    };
};
export {};
