import type { CSSProperties, FC, MouseEventHandler, ReactNode, Ref } from 'react'; import './Button.css'; export interface BaseBaseProps { variant?: 'contained' | 'outlined' | 'text'; color?: 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info'; size?: 'medium' | 'small'; rounded?: boolean | 'no-padding'; className?: string; style?: CSSProperties; children: ReactNode | ReactNode[]; startIcon?: FC<{ className?: string; }>; endIcon?: FC<{ className?: string; }>; title?: string; 'data-testid'?: string; onClick?: MouseEventHandler; } export interface ButtonProps extends BaseBaseProps { disabled?: boolean; buttonRef?: Ref; 'aria-label'?: string; } export interface ButtonInternalLinkProps extends BaseBaseProps { to: string; linkRef?: Ref; } export interface ButtonExternalLinkProps extends BaseBaseProps { href: string; linkRef?: Ref; } export type LinkProps = ButtonInternalLinkProps | ButtonExternalLinkProps; export type ButtonLinkProps = ButtonProps | LinkProps; declare const Button: FC; export default Button;