import { FunctionComponent, ReactNode } from 'react' interface AllButtonProps { onClick?: (e?: React.MouseEvent) => void disabled?: boolean className?: string secondary?: boolean children?: ReactNode } interface ButtonProps { size?: 'large' | 'medium' | 'small' highlightButton?: boolean } type ButtonCombinedProps = AllButtonProps & ButtonProps const Button: FunctionComponent = ({ children, onClick, disabled = false, className, secondary, size = 'medium', highlightButton, ...props }) => { return ( ) } interface IconButtonProps { hideBg?: boolean large?: boolean } type IconButtonCombinedProps = AllButtonProps & IconButtonProps export const IconButton: FunctionComponent = ({ children, onClick, disabled = false, className, hideBg, large, ...props }) => { return ( ) } interface LinkButtonProps { icon?: ReactNode } type LinkButtonCombinedProps = AllButtonProps & LinkButtonProps export const LinkButton: FunctionComponent = ({ children, onClick, disabled = false, className, secondary, ...props }) => { return ( ) } export default Button