import type { TypographyProps as MuiTypographyProps } from '@mui/material/Typography'; import type { SxProps, Theme } from '@mui/material/styles'; export type TypographyVariant = MuiTypographyProps['variant']; export type TypographyAlign = MuiTypographyProps['align']; export type TypographyColor = MuiTypographyProps['color']; export type TypographyWeight = 'regular' | 'medium' | 'semibold' | 'bold' | number; export interface TypographyProps extends Omit { /** MUI Typography variant (e.g. `body1`, `h6`, `caption`). Defaults to `body1`. */ variant?: TypographyVariant; /** Shorthand for fontWeight — accepts design token values or numeric values. */ weight?: TypographyWeight; /** When true, renders as a single non-wrapping line with ellipsis overflow. */ isTruncated?: boolean; /** When true, text is rendered in uppercase. */ isUppercase?: boolean; /** MUI sx style overrides */ sx?: SxProps; }