import { ButtonHTMLAttributes } from 'react';
import type { ColorKey, Sizes } from '../../../theme/types';
import { IconProps } from '../Icon/Icon';
import type { IconComponentName } from '../Icon/IconComponents';
export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
    variant?: 'square' | 'rectangular' | 'circle';
    backgroundColor?: ColorKey | [ColorKey, ColorKey];
    iconColor?: ColorKey;
    badge?: string | number | boolean;
    badgeColor?: ColorKey;
    badgeContentColor?: ColorKey;
    badgeHoverContent?: string;
    rightBadge?: boolean;
    strokeColor?: ColorKey;
    size?: Extract<Sizes, 'xxs' | 'xs' | 's' | 'm' | 'l'>;
    iconSize?: IconProps['size'];
    disabled?: boolean;
    icon: IconComponentName;
    onClick?: () => void;
    testID?: string;
    style?: React.CSSProperties;
}
declare const IconButton: ({ variant, backgroundColor, iconColor, badge, badgeColor, badgeContentColor, badgeHoverContent, rightBadge, strokeColor, size, iconSize, disabled, icon, onClick, testID, style, className, ...props }: IconButtonProps) => import("@emotion/react/jsx-runtime").JSX.Element;
export default IconButton;
