import { Theme } from '@emotion/react';

import { SliderPropsColorOverrides, SliderPropsSizeOverrides, SxProps } from '@mui/material';
import { OverridableStringUnion } from '@mui/types';

import { MuiRangerSliderBaseProps } from '../types';

export interface RangerSliderBaseProps extends MuiRangerSliderBaseProps {
  sx?: SxProps<Theme>;
  max?: number;
  min?: number;
  name?: string;
  mode?: Boolean;
  onChange?: (event: Event, value: number | number[], activeThumb: number) => void;
  orientation?: 'horizontal' | 'vertical';
  size?: OverridableStringUnion<'small' | 'medium', SliderPropsSizeOverrides>;
  step?: number | null;
  defaultValue?: number | number[];
  valueLabelDisplay?: 'on' | 'auto' | 'off';
  color?: OverridableStringUnion<'primary' | 'secondary', SliderPropsColorOverrides>;
  label?: string;
  showValueInline?: boolean;
  valueLabelFormat?: string | ((value: number, index: number) => React.ReactNode);
}
