import React from 'react'; import { IconProps } from '../Icon'; import { BoxProps, NativeAttributes } from '../Box'; import { Theme } from '../../theme'; export interface IconButtonProps extends NativeAttributes<'button'>, Pick { /** The size of the icon button */ size?: 'small' | 'medium' | 'large'; /** The text associated with the icon button */ 'aria-label': string; /** The icon present on the button */ icon: IconProps['type']; /** The style of the icon button */ variant?: 'solid' | 'ghost' | 'outline' | 'unstyled'; /** The color scheme of the button */ variantColor?: keyof Theme['colors']; /** The color of the icon */ iconColor?: keyof Theme['colors']; /** The border style of the button */ variantBorderStyle?: 'square' | 'circle'; /** Whether the button is disabled */ disabled?: boolean; /** Whether the button should have a loading spinner next to it */ loading?: boolean; /** Whether the button should always be marked as active. Helpful for menus. */ active?: boolean; } /** A wrapper that makes an Icon component be clickable */ export declare const IconButton: React.ForwardRefExoticComponent & React.RefAttributes>; export default IconButton;