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 | undefined; as?: React.ElementType | undefined; sx?: SxProps | undefined; } export interface MuiStyledOptions { name?: string | undefined; slot?: string | undefined; // 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) | undefined; skipVariantsResolver?: boolean | undefined; skipSx?: boolean | undefined; } export type CreateMUIStyled = CreateMUIStyledStyledEngine, MuiStyledOptions, Theme>; export default function createStyled(options?: { themeId?: string | undefined; defaultTheme?: Theme | undefined; rootShouldForwardProp?: ((prop: PropertyKey) => boolean) | undefined; slotShouldForwardProp?: ((prop: PropertyKey) => boolean) | undefined; styleFunctionSx?: typeof styleFunctionSx | undefined; }): CreateMUIStyled;