import React from 'react'; import { OverridableStringUnion, OverrideProps } from '@mui/types'; import { CreateSlotsAndSlotProps, SlotCommonProps, SlotProps } from '../types/slot'; import { ApplyColorInversion } from '../types/colorSystem'; export type CircularProgressSlot = 'root' | 'svg' | 'progress'; export interface CircularProgressSlots { /** * The component that renders the root. * @default 'span' */ root?: React.ElementType; /** * The component that renders the svg. * @default 'svg' */ svg?: React.ElementType; /** * The component that renders the track. * @default 'circle' */ track?: React.ElementType; /** * The component that renders the progress. * @default 'circle' */ progress?: React.ElementType; } export interface CircularProgressPropsColorOverrides { } export interface CircularProgressPropsSizeOverrides { } export interface CircularProgressPropsVariantOverrides { } export type CircularProgressSlotsAndSlotProps = CreateSlotsAndSlotProps; svg: SlotProps<'svg', object, CircularProgressOwnerState>; track: SlotProps<'circle', object, CircularProgressOwnerState>; progress: SlotProps<'circle', object, CircularProgressOwnerState>; }>; export interface CircularProgressTypeMap

{ props: P & CircularProgressSlotsAndSlotProps & { /** * The color of the component. * @default 'primary' */ color?: OverridableStringUnion<'primary' | 'error' | 'info' | 'success' | 'warning' | 'inherit', CircularProgressPropsColorOverrides>; /** * The size of the component, in pixels. * @default 48 */ size?: number; /** * The thickness of the circle, in pixels. * @default 3 */ thickness?: number; /** * The value of the progress indicator for the determinate variant. * Value between 0 and 100. * @default 0 */ value?: number; /** * The variant to use. * Use indeterminate when there is no progress value. * @default 'indeterminate' */ variant?: 'determinate' | 'indeterminate'; }; defaultComponent: D; } export type CircularProgressProps = OverrideProps, D>; export interface CircularProgressOwnerState extends ApplyColorInversion { }