import React from "react";
import type { ReactHTML } from "react";
import type { ReactComponent } from "./tools/ReactComponent";
import type { CSSObject } from "./types";
import type { EmotionCache } from "@emotion/cache";
export declare function createWithStyles(params: {
useTheme: () => Theme;
cache?: EmotionCache;
}): {
withStyles: {
, Props extends C extends ReactComponent ? P : C extends keyof React.ReactHTML ? React.ReactHTML[C] extends ReactComponent ? NonNullable : never : never, CssObjectByRuleName extends Props extends {
classes?: Partial | undefined;
} ? { [RuleName in keyof ClassNameByRuleName]?: CSSObject | undefined; } & {
[mediaQuery: `@media${string}`]: { [RuleName_1 in keyof ClassNameByRuleName]?: CSSObject | undefined; };
} : {
root: CSSObject;
} & {
[mediaQuery: `@media${string}`]: {
root: CSSObject;
};
}>(Component: C, cssObjectByRuleNameOrGetCssObjectByRuleName: (CssObjectByRuleName & {
[mediaQuery: `@media${string}`]: { [Key in keyof CssObjectByRuleName]?: CSSObject | undefined; };
}) | ((theme: Theme, props: Props, classes: Record, string>) => CssObjectByRuleName), params?: {
name?: string | Record | undefined;
uniqId?: string | undefined;
} | undefined): C extends keyof React.ReactHTML ? React.ReactHTML[C] : C;
getClasses: typeof getClasses;
};
};
declare function getClasses(props: {
className?: string;
classes?: Classes;
}): Classes extends Record ? Classes extends Partial> ? Record : Classes : {
root: string;
};
export {};