import { AnchorHTMLAttributes, ButtonHTMLAttributes, ReactNode } from 'react'; /** * Props for the 'Button' component. * * @author Malik Alimoekhamedov */ interface ButtonProps extends ButtonHTMLAttributes, Pick, 'className' | 'href' | 'target'> { /** * A decorator is any ReactNode element that'll be displayed in the * top right corner of the button. This can be used to display a padlock * to indicate that this button is restricted to signed-in only users or * a pulsating notification puck that attracts user's attention but the sky * is the limit here. */ readonly decorator?: ReactNode; readonly icon?: ReactNode; readonly renderAsLink?: boolean; readonly size?: 'SMALL' | 'MEDIUM' | 'LARGE' | 'XLARGE'; readonly colorTheme?: 'NORMAL' | 'ACCENT' | 'BRIGHT'; readonly shape?: 'FILLED' | 'GHOST' | 'BORDERLESS'; readonly isLoading?: boolean; } export type { ButtonProps };