/* eslint-disable @typescript-eslint/no-explicit-any */
import MUIMakeStyles from "@mui/styles/makeStyles";
import { ClassNameMap, Styles, WithStylesOptions } from "@mui/styles";
import { DocflowTheme } from "../theme/theme";

export function makeStyles<ClassKey extends string = string>(
  style: Styles<DocflowTheme, object, ClassKey>,
  options?: Omit<WithStylesOptions<DocflowTheme>, "withTheme">
): (props?: any) => ClassNameMap<ClassKey>;

export function makeStyles<
  Props extends object = object,
  ClassKey extends string = string
>(
  styles: Styles<DocflowTheme, Props, ClassKey>,
  options?: Omit<WithStylesOptions<DocflowTheme>, "withTheme">
): (props: Props) => ClassNameMap<ClassKey>;

export function makeStyles(styles: any, options?: any) {
  return MUIMakeStyles(styles, options);
}
