import { ButtonProps as MuiButtonProps } from '@mui/material';
import { ReactNode, MouseEvent } from 'react';
export type ButtonVariant = 'contained' | 'outlined' | 'text';
export type ButtonSize = 'small' | 'medium' | 'large';
export type ButtonColor = 'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success' | 'inherit';
export type ButtonBorderRadius = 'none' | 'small' | 'medium' | 'large' | 'round' | number;
export interface ButtonProps extends Omit<MuiButtonProps, 'variant' | 'size' | 'color' | 'type' | 'startIcon' | 'endIcon' | 'onClick'> {
    testId?: string;
    loading?: boolean;
    loadingText?: string;
    variant?: ButtonVariant;
    size?: ButtonSize;
    color?: ButtonColor;
    type?: 'button' | 'submit' | 'reset';
    borderRadius?: ButtonBorderRadius;
    startIcon?: ReactNode;
    endIcon?: ReactNode;
    onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
    onAction?: (event: MouseEvent<HTMLButtonElement>) => void;
}
