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; } : { root: CSSObject; }>(Component: C, cssObjectByRuleNameOrGetCssObjectByRuleName: CssObjectByRuleName | ((theme: Theme, props: Props, classes: Record) => 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 {};