import * as CSS from 'csstype'; import { StyledComponent, StyledOptions } from '@emotion/styled'; import { PropsOf } from '@emotion/react'; export * from '@emotion/styled'; export { default } from '@emotion/styled'; export { ThemeContext, keyframes, css } from '@emotion/react'; export { default as StyledEngineProvider } from "./StyledEngineProvider/index.js"; export { default as GlobalStyles } from "./GlobalStyles/index.js"; export * from "./GlobalStyles/index.js"; export type MUIStyledComponent = StyledComponent; /** * For internal usage in `@mui/system` package */ // eslint-disable-next-line @typescript-eslint/naming-convention export function internal_mutateStyles(tag: React.ElementType, processor: (styles: any) => any): void; // eslint-disable-next-line @typescript-eslint/naming-convention export function internal_serializeStyles

(styles: Interpolation

): object; export interface SerializedStyles { name: string; styles: string; map?: string; next?: SerializedStyles; } export type CSSProperties = CSS.PropertiesFallback; export type CSSPropertiesWithMultiValues = { [K in keyof CSSProperties]: CSSProperties[K] | ReadonlyArray> }; // TODO v6 - check if we can drop the unknown, as it breaks the autocomplete // For more info on why it was added, see https://github.com/mui/material-ui/pull/26228 export type CSSPseudos = { [K in CSS.Pseudos]?: unknown | CSSObject }; // TODO v6 - check if we can drop the unknown, as it breaks the autocomplete // For more info on why it was added, see https://github.com/mui/material-ui/pull/26228 export interface CSSOthersObject { [propertiesName: string]: unknown | CSSInterpolation; } export type CSSPseudosForCSSObject = { [K in CSS.Pseudos]?: CSSObject }; export interface ArrayCSSInterpolation extends ReadonlyArray {} export interface CSSOthersObjectForCSSObject { [propertiesName: string]: CSSInterpolation; } // Omit variants as a key, because we have a special handling for it export interface CSSObject extends CSSPropertiesWithMultiValues, CSSPseudos, CSSOthersObject {} export interface ComponentSelector { __emotion_styles: any; } export type Keyframes = { name: string; styles: string; anim: number; toString: () => string; } & string; export type Equal = A extends B ? (B extends A ? T : F) : F; export type InterpolationPrimitive = null | undefined | boolean | number | string | ComponentSelector | Keyframes | SerializedStyles | CSSObject; export type CSSInterpolation = InterpolationPrimitive | ArrayCSSInterpolation; export interface FunctionInterpolation { (props: Props): Interpolation; } export interface ArrayInterpolation extends ReadonlyArray> {} export type Interpolation = null | undefined | boolean | number | string | ComponentSelector | Keyframes | SerializedStyles | CSSPropertiesWithMultiValues | (CSSObject & { variants?: Array<{ props: (Props extends { ownerState: infer O; } ? Partial & O> : Partial) | ((props: Props extends { ownerState: infer O; } ? Props & O & { ownerState: O; } : Props) => boolean); style: CSSObject | ((args: Props extends { theme: any; } ? { theme: Props['theme']; } : any) => CSSObject); }>; }) | ArrayInterpolation | FunctionInterpolation; export function shouldForwardProp(propName: PropertyKey): boolean; /** Same as StyledOptions but shouldForwardProp must be a type guard */ export interface FilteringStyledOptions { label?: string; shouldForwardProp?(propName: PropertyKey): propName is ForwardedProps; target?: string; } /** * @typeparam ComponentProps Props which will be included when withComponent is called * @typeparam SpecificComponentProps Props which will *not* be included when withComponent is called */ export interface CreateStyledComponent { (...styles: Array>): StyledComponent; /** * @typeparam AdditionalProps Additional props to add to your styled component */ (...styles: Array>): StyledComponent; (template: TemplateStringsArray, ...styles: Array>): StyledComponent; /** * @typeparam AdditionalProps Additional props to add to your styled component */ (template: TemplateStringsArray, ...styles: Array>): StyledComponent; } export interface CreateMUIStyled { >, ForwardedProps extends keyof React.ComponentProps = keyof React.ComponentProps>(component: C, options: FilteringStyledOptions, ForwardedProps> & MuiStyledOptions): CreateStyledComponent, ForwardedProps> & MUIStyledCommonProps, {}, { ref?: React.Ref>; }, Theme>; >>(component: C, options?: StyledOptions & MUIStyledCommonProps> & MuiStyledOptions): CreateStyledComponent & MUIStyledCommonProps, {}, { ref?: React.Ref>; }, Theme>; >, ForwardedProps extends keyof React.ComponentProps = keyof React.ComponentProps>(component: C, options: FilteringStyledOptions, ForwardedProps> & MuiStyledOptions): CreateStyledComponent, ForwardedProps> & MUIStyledCommonProps, {}, {}, Theme>; >>(component: C, options?: StyledOptions & MUIStyledCommonProps> & MuiStyledOptions): CreateStyledComponent & MUIStyledCommonProps, {}, {}, Theme>; (tag: Tag, options: FilteringStyledOptions & MuiStyledOptions): CreateStyledComponent, {}, Theme>; (tag: Tag, options?: StyledOptions & MuiStyledOptions): CreateStyledComponent; }