/**
 * 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 from 'react';
import PropTypes from 'prop-types';
import { PopoverAlignment } from '@carbon/react';
import { CarbonIconType } from '@carbon/react/icons';
interface ConditionBuilderButtonProps {
    className?: string;
    label: string;
    hideLabel?: boolean;
    tooltipAlign?: PopoverAlignment;
    renderIcon?: CarbonIconType;
    onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
    onBlur?: React.FocusEventHandler<HTMLButtonElement>;
    onFocus?: React.FocusEventHandler<HTMLButtonElement>;
    onMouseEnter?: (e: React.MouseEvent<HTMLButtonElement>) => void;
    onMouseLeave?: (e: React.MouseEvent<HTMLButtonElement>) => void;
    showToolTip?: boolean;
    wrapperProps?: object;
    isInvalid?: boolean;
    wrapperClassName?: string;
    tabIndex?: number;
    description?: string;
}
export declare const ConditionBuilderButton: {
    ({ className, label, hideLabel, tooltipAlign, renderIcon: Icon, onClick, showToolTip, wrapperProps, onBlur, onFocus, onMouseEnter, onMouseLeave, isInvalid, wrapperClassName, tabIndex, description, ...rest }: ConditionBuilderButtonProps): React.JSX.Element;
    propTypes: {
        /**
         * Provide an optional class to be applied to the containing node.
         */
        className: PropTypes.Requireable<string>;
        /**
         * decides if label and tooltip to be hidden
         */
        hideLabel: PropTypes.Requireable<boolean>;
        /**
         * boolean to know the updated value in not valid
         */
        isInvalid: PropTypes.Requireable<boolean>;
        /**
         * label of the button
         */
        label: PropTypes.Requireable<string>;
        /**
         * mouse events callbacks
         */
        onBlur: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * callback triggered on click of add button
         */
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        onFocus: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * Optional prop to allow overriding the icon rendering.
         */
        renderIcon: PropTypes.Requireable<object>;
        /**
         */
        /**
         *decides if  tooltip to be shown
         */
        showToolTip: PropTypes.Requireable<boolean>;
        /**
         * Tab index
         */
        tabIndex: PropTypes.Requireable<number>;
        /**
         * tooltip position
         */
        tooltipAlign: PropTypes.Requireable<string>;
        /**
         * classname applies to the wrapper of popover
         */
        wrapperClassName: PropTypes.Requireable<string>;
        /**
         * optional props for tree grid to add role and aria-label to wrapper span
         */
        wrapperProps: PropTypes.Requireable<object>;
    };
};
export {};
//# sourceMappingURL=ConditionBuilderButton.d.ts.map