import * as React from 'react'; import { CreateMUIStyled as CreateMUIStyledStyledEngine, CSSInterpolation } from '@mui/styled-engine'; import styleFunctionSx, { SxProps } from "../styleFunctionSx/index.js"; import { Theme as DefaultTheme } from "../createTheme/index.js"; export function shouldForwardProp(propName: PropertyKey): boolean; export interface MUIStyledCommonProps { theme?: Theme; as?: React.ElementType; sx?: SxProps; } export interface MuiStyledOptions { name?: string; slot?: string; // The difference between Interpolation and CSSInterpolation is that the former supports functions based on props // If we want to support props in the overrides, we will need to change the CSSInterpolation to Interpolation overridesResolver?: (props: any, styles: Record) => CSSInterpolation; skipVariantsResolver?: boolean; skipSx?: boolean; } export type CreateMUIStyled = CreateMUIStyledStyledEngine, MuiStyledOptions, Theme>; export default function createStyled(options?: { themeId?: string; defaultTheme?: Theme; rootShouldForwardProp?: (prop: PropertyKey) => boolean; slotShouldForwardProp?: (prop: PropertyKey) => boolean; styleFunctionSx?: typeof styleFunctionSx; }): CreateMUIStyled;