import React from 'react'; import { Omit, Props } from '../../../common'; import { FontAwesomeIconValue } from '../../Icons/Icon/FontAwesomeIconTypes'; import { IconButtonVariants, StatusDotVariants } from './colors'; declare enum Size { Small = "small", Medium = "medium", Large = "large" } declare enum IconSize { Small = "small", Large = "large" } interface IFontAwesomeIconButtonProps { /** Button props passthrough */ buttonOverrides?: Omit, HTMLButtonElement>, 'ref'>; /** Name of the icon */ icon: FontAwesomeIconValue; /** Size of the button */ size?: Size; /** Size of the icon */ iconSize?: IconSize; /** The alternative font awesome icon versions */ type: 'solid' | 'regular' | 'light' | 'duotone'; /** onClick event */ onClick?: (event: React.MouseEvent) => void; /** A link that will be navigated to on click */ href?: string; /** Pass through for anchor props when using href */ anchorComponentProps?: { [i: string]: any; }; /** Background and Color of the button */ variant?: IconButtonVariants; /** The margins around the component */ margins?: Props.IMargins; /** Text display in the column header tooltip */ tooltipText?: string; /** Whether the Icon Button is hovered */ isHovered?: boolean; /** Whether the Icon Button is active/selected */ isSelected?: boolean; /** Whether the Icon Button is disabled */ isDisabled?: boolean; /** Variant of the status dot */ statusDotVariant?: StatusDotVariants; /** The component context */ componentContext?: string; title?: string; label?: string; } declare const FontAwesomeIconButton: { (props: IFontAwesomeIconButtonProps): JSX.Element; Size: typeof Size; IconSize: typeof IconSize; StatusDotVariants: typeof StatusDotVariants; IconButtonVariants: typeof IconButtonVariants; }; export { FontAwesomeIconButton, Size as FontAwesomeIconButtonSize, IFontAwesomeIconButtonProps };