import { SxProps } from '@mui/material';
import { Theme } from '@emotion/react';
import { OverridableStringUnion } from '@mui/types';
import { ColorVariant, MuiProgressBarBaseProps, ProgressVariant } from '../types';
import { ProgressBar } from '..';

export interface LinearProgressPropsColorOverrides {}

export interface CustomColor {
  root: string;
  bar: string;
}

export interface ProgressBarBaseProps extends MuiProgressBarBaseProps {
  sx?: SxProps<Theme>;
  value?: number;
  total?: number;
  label?: string;
  colorCustom?: CustomColor;
  variant?: ProgressVariant;
  localeString?: boolean;
  color?: OverridableStringUnion<ColorVariant, LinearProgressPropsColorOverrides>;
  h?: number;
  hideValue?: boolean;
  fSize?: string;
  htmlLabel?: React.ReactNode;
}

export type ProgressBarType = keyof typeof ProgressBar;
