import React from "react";
import { TooltipProps } from "../Tooltip/Tooltip";
import { Size } from "./services/IconButton-helpers";
import { SubIcon, L3Component, L3ComponentProps } from "../../types";
import Button from "../Button/Button";
import { ButtonColor, ButtonType } from "../Button/ButtonConstants";
export interface IconButtonProps extends L3ComponentProps {
    /**
     * id to be added to the element
     */
    id?: string;
    /**
     * callback function when clicking the icon button
     */
    onClick?: (event: React.MouseEvent) => void;
    /**
     * class to be added to the button
     */
    className?: string;
    /**
     * class to be added to the button wrapper
     */
    wrapperClassName?: string;
    /**
     * Icon to be rendered
     */
    icon?: SubIcon;
    /**
     * a11y property to be added, used for screen reader to know what kind of button it is
     */
    ariaLabel?: string;
    /**
     * Size of the icon
     */
    size?: Size;
    /**
     * Whether the tooltip should be displayed or not
     */
    hideTooltip?: boolean;
    /**
     * Props for Tooltip component
     */
    tooltipProps?: Partial<TooltipProps>;
    /**
     * Tooltip wraps the button icon, it will display in the tooltip, if not present the aria label will be shown
     */
    tooltipContent?: string;
    /**
     * Kind of button - like <Button />
     */
    kind?: ButtonType;
    active?: boolean;
    /** The button's color  */
    color?: ButtonColor;
    /**
     * disabled state
     */
    disabled?: boolean;
    /**
     * if disabled - this will be shown in the tooltip
     */
    disabledReason?: string;
    dataTestId?: string;
    /** Change the focus indicator from around the button to within it */
    insetFocus?: boolean;
    label?: string;
    labelInButton?: string;
    shape?: "Square" | "Circle";
}
declare const IconButton: L3Component<IconButtonProps> & {
    sizes?: typeof Button.sizes;
    kinds?: typeof Button.kinds;
    colors?: typeof Button.colors;
};
export default IconButton;
