import * as React from 'react'; import { BoxProps, NativeAttributes } from '../Box'; import { IconProps } from '../Icon'; import { Theme } from '../../theme'; export interface ButtonProps extends NativeAttributes<'button'>, Pick { /** The size (height) of the button */ size?: 'small' | 'medium' | 'large'; /** The variant of the button that decides the colors */ variant?: 'solid' | 'outline'; /** The color scheme of the button for solid variants */ variantColor?: keyof Theme['colors']; /** The icon present on the button */ icon?: IconProps['type']; /** The side of the button in which the icon appears on. Defaults to `left`. */ iconAlignment?: 'left' | 'right'; /** Whether the button should occupy entirety of its parent. Defaults to `false` */ fullWidth?: boolean; /** 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; } /** * Extends Box * * The core re-usable button that you will use in the app. */ export declare const Button: React.ForwardRefExoticComponent & React.RefAttributes>; export default Button;