/// <reference types="react" />
import { Positions, Sizes } from '../../core/types';
import './IconButton.scss';
export declare enum IconButtonState {
    NONE = "",
    HOVER = "hover",
    ACTIVE = "active",
    DISABLED = "disabled"
}
export interface IconButtonProps {
    style?: React.CSSProperties;
    className?: string;
    disabled?: boolean;
    icon?: React.ReactNode;
    indicatorIconCount?: number;
    size?: Sizes;
    children?: React.ReactNode;
    state?: IconButtonState;
    labelText?: string;
    tooltip?: string;
    tooltipPosition?: Positions;
    backgroundHover?: boolean;
    iconHover?: boolean;
    boxShadowHover?: boolean;
    color?: string;
    hoverShadowColor?: string;
    onClick?: (e: any) => void;
}
/**
 * Icon Button
 * @param props
 * @param {React.CSSProperties} props.style - [optional] custom style
 * @param {string} props.className - [optional] custom class name
 * @param {boolean} props.disabled - [optional] disabled state
 * @param {React.ReactNode} props.icon - [required] icon component
 * @param {number} props.indicatorIconCount - [optional] indicator icon count
 * @param {Sizes} props.size - [optional] icon size, enum Size, including 'xlarge', 'large', 'medium', 'small', and 'xsmall'
 * @param {React.ReactNode} props.children - [optional] children component
 * @param {IconButtonState} props.state - [optional] `IconButtonState`, including `hover` | `active` | `disabled` | `none`
 * @param {string} props.tooltip, props.labelText(deprecated) - [optional] tooltip message
 * @param {string} props.tooltipPosition - [optional] tooltip position, top | bottom | left | right
 * @param {boolean} props.backgroundHover - [optional] if true, the background will change on hover
 * @param {boolean} props.iconHover - [optional] if true, the icon will change on hover
 * @param {boolean} props.boxShadowHover - [optional] if true, the box shadow will change on hover
 * @param {string} props.color - [optional] custom color for the icon
 * @param {string} props.hoverShadowColor - [optional] custom hover shadow color
 * @param {function} props.onClick - [optional] click event handler
 * @returns
 */
export declare function IconButton(props: IconButtonProps): import("react/jsx-runtime").JSX.Element;
export default IconButton;
