import type { ReactNode } from 'react'; import type { BoxProps } from '@mui/material/Box'; import type { SxProps, Theme } from '@mui/material/styles'; export type ToggleButtonsOptionKey = string | number; export interface ToggleButtonsOption { key: T; content: ReactNode; } export interface ToggleButtonsProps { /** List of options to render as toggle buttons */ options: ToggleButtonsOption[]; /** Key of the currently active option */ activeKey: T; /** Called with the key of the newly selected option */ onChange: (key: T) => void; /** Props forwarded to ToggleButtonsStyled (merged with top-level `className` / `sx`) */ containerProps?: BoxProps; /** Props forwarded to each ToggleButtonsButtonStyled */ buttonProps?: BoxProps; /** Optional id for the container — caller-supplied for label / aria wiring */ id?: string; className?: string; sx?: SxProps; }