import "@mui/material"; import { ReactElement, ReactNode } from 'react'; import "./palette"; import "./typography"; declare module '@mui/material/Button' { interface ButtonPropsVariantOverrides { elevated: true; } interface ButtonOwnProps { isLoading?: boolean; customColor?: string; } } declare module '@mui/material/Alert' { interface AlertProps { size?: 'medium' | 'large'; } interface AlertPropsSizeOverrides { medium: true; large: true; } } export type TBadgePriority = 'primary' | 'secondary'; declare module '@mui/material/Badge/Badge' { interface BadgePropsColorOverrides { neutral: true; } interface BadgeOwnProps { priority?: TBadgePriority; icon?: ReactElement; } } declare module '@mui/material/Checkbox/Checkbox' { interface CheckboxProps { customColor?: string; } } declare module '@mui/material/Chip' { interface ChipOwnProps { rounded?: boolean; startIcon?: ReactElement; endIcon?: ReactElement; } interface ChipPropsSizeOverrides { large: true; } interface ChipPropsVariantOverrides { fillSelected: true; borderSelected: true; } } declare module '@mui/material/DialogTitle' { interface DialogTitle { justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between'; } } declare module '@mui/material/IconButton' { interface ButtonPropsVariantOverrides { elevated: true; } interface IconButtonOwnProps { customColor?: string; variant?: 'filled' | 'outlined' | 'naked' | 'elevated'; rounded?: boolean; } interface IconButtonPropsSizeOverrides { withoutSize: true; } } export type CustomColors = 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | string; declare module '@mui/material/Tabs' { interface TabsOwnProps { type?: 'filled' | 'outlined'; tabTextColor?: CustomColors; tabColor?: CustomColors; tabIndicatorColor?: CustomColors; } interface TabsPropsVariantOverrides { filled: true; } } declare module '@mui/material/Tabs' { interface TabsPropsVariantOverrides { filled: true; } } declare module '@mui/material/Tab' { interface TabOwnProps { startIcon?: ReactNode; endIcon?: ReactNode; } } declare module '@mui/material/Radio/Radio' { interface RadioProps { customColor?: string; } } declare module '@mui/material/Switch/Switch' { interface SwitchProps { customColor?: string; } }