///
import type { EmotionCache } from "@emotion/cache";
export type { CSSInterpolation, CSSObject, Css, Cx, CxArg } from "./types";
import { createMakeStyles, TssCacheProvider } from "./makeStyles";
export { createMakeStyles, TssCacheProvider };
import { createWithStyles } from "./withStyles";
export { createWithStyles };
/** @see */
export { keyframes } from "@emotion/react";
/** @see */
export { GlobalStyles } from "./GlobalStyles";
/** @see */
export declare function createMakeAndWithStyles(params: {
useTheme: () => Theme;
cache?: EmotionCache;
}): {
withStyles: {
, Props extends C extends import("./tools/ReactComponent").ReactComponent ? P : C extends keyof import("react").ReactHTML ? import("react").ReactHTML[C] extends import("./tools/ReactComponent").ReactComponent ? NonNullable : never : never, CssObjectByRuleName extends Props extends {
classes?: Partial | undefined;
} ? { [RuleName in keyof ClassNameByRuleName]?: import("./types").CSSObject | undefined; } & {
[mediaQuery: `@media${string}`]: { [RuleName_1 in keyof ClassNameByRuleName]?: import("./types").CSSObject | undefined; };
} : {
root: import("./types").CSSObject;
} & {
[mediaQuery: `@media${string}`]: {
root: import("./types").CSSObject;
};
}>(Component: C, cssObjectByRuleNameOrGetCssObjectByRuleName: (CssObjectByRuleName & {
[mediaQuery: `@media${string}`]: { [Key in keyof CssObjectByRuleName]?: import("./types").CSSObject | undefined; };
}) | ((theme: Theme, props: Props, classes: Record, string>) => CssObjectByRuleName), params?: {
name?: string | Record | undefined;
uniqId?: string | undefined;
} | undefined): C extends keyof import("react").ReactHTML ? import("react").ReactHTML[C] : C;
getClasses: (props: {
className?: string | undefined;
classes?: Classes | undefined;
}) => Classes extends Record ? Classes extends Partial> ? Record : Classes : {
root: string;
};
};
makeStyles: (params?: {
name?: string | Record | undefined;
uniqId?: string | undefined;
} | undefined) => (cssObjectByRuleNameOrGetCssObjectByRuleName: Record | ((theme: Theme, params: Params, classes: Record) => Record)) => (params: Params, styleOverrides?: {
props: any;
ownerState?: Record | undefined;
} | undefined) => {
classes: Record;
theme: Theme;
css: import("./types").Css;
cx: import("./types").Cx;
};
useStyles: () => {
theme: Theme;
css: import("./types").Css;
cx: import("./types").Cx;
};
};