import { type CreateStyled, type StyledComponent, type StyledOptions } from '@emotion/styled';
import type * as CSS from 'csstype';
import { type PropsOf } from '@emotion/react';
export type { CreateStyled, StyledComponent, StyledOptions, StyledTags } from '@emotion/styled';
declare const _default: CreateStyled;
export default _default;
/**
* For internal usage in `@mui/system` package
*/
export declare function internal_mutateStyles(tag: React.ElementType, processor: (styles: any) => any): void;
export declare function internal_serializeStyles
(styles: Interpolation
): object;
export { ThemeContext, keyframes, css } from '@emotion/react';
export { default as StyledEngineProvider } from "./StyledEngineProvider/index.js";
export { default as GlobalStyles } from "./GlobalStyles/index.js";
export type { GlobalStylesProps } from "./GlobalStyles/index.js";
export type MUIStyledComponent = StyledComponent;
export interface SerializedStyles {
name: string;
styles: string;
map?: string | undefined;
next?: SerializedStyles | undefined;
}
export type CSSProperties = CSS.PropertiesFallback;
export type CSSPropertiesWithMultiValues = { [K in keyof CSSProperties]: CSSProperties[K] | ReadonlyArray> };
export type CSSPseudos = { [K in CSS.Pseudos]?: unknown | CSSObject };
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;
}
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);
}> | undefined;
}) | ArrayInterpolation | FunctionInterpolation;
export declare function shouldForwardProp(propName: PropertyKey): boolean;
/** Same as StyledOptions but shouldForwardProp must be a type guard */
export interface FilteringStyledOptions {
label?: string | undefined;
shouldForwardProp?(propName: PropertyKey): propName is ForwardedProps;
target?: string | undefined;
}
/**
* @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> | undefined;
}, Theme>;
>>(component: C, options?: StyledOptions & MUIStyledCommonProps> & MuiStyledOptions): CreateStyledComponent & MUIStyledCommonProps, {}, {
ref?: React.Ref> | undefined;
}, 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;
}