/// <reference types="react" />
/** @see <https://docs.tss-react.dev/setup> */
export declare const makeStyles: <Params = void, RuleNameSubsetReferencableInNestedSelectors extends string = never>(params?: {
    name?: string | Record<string, unknown> | undefined;
    uniqId?: string | undefined;
} | undefined) => <RuleName extends string>(cssObjectByRuleNameOrGetCssObjectByRuleName: Record<RuleName, import("../types").CSSObject> | ((theme: import("@mui/material/styles").Theme, params: Params, classes: Record<RuleNameSubsetReferencableInNestedSelectors, string>) => Record<RuleNameSubsetReferencableInNestedSelectors | RuleName, import("../types").CSSObject>)) => (params: Params, muiStyleOverridesParams?: {
    props: Record<string, unknown>;
    ownerState?: Record<string, unknown> | undefined;
} | undefined) => {
    classes: Record<RuleName, string>;
    theme: import("@mui/material/styles").Theme;
    css: import("../types").Css;
    cx: import("../types").Cx;
}, withStyles: {
    <C extends keyof import("react").ReactHTML | import("../tools/ReactComponent").ReactComponent<any>, Props extends C extends import("../tools/ReactComponent").ReactComponent<infer P> ? P : C extends keyof import("react").ReactHTML ? import("react").ReactHTML[C] extends import("../tools/ReactComponent").ReactComponent<infer P_1> ? NonNullable<P_1> : never : never, CssObjectByRuleName extends Props extends {
        classes?: Partial<infer ClassNameByRuleName> | 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: import("@mui/material/styles").Theme, props: Props, classes: Record<Exclude<keyof CssObjectByRuleName, `@media${string}`>, string>) => CssObjectByRuleName), params?: {
        name?: string | Record<string, unknown> | undefined;
        uniqId?: string | undefined;
    } | undefined): C extends keyof import("react").ReactHTML ? import("react").ReactHTML[C] : C;
    getClasses: <Classes>(props: {
        className?: string | undefined;
        classes?: Classes | undefined;
    }) => Classes extends Record<string, unknown> ? Classes extends Partial<Record<infer K, any>> ? Record<K, string> : Classes : {
        root: string;
    };
};
export declare const tss: import("../tss").Tss<{
    theme: import("@mui/material/styles").Theme;
}, Record<never, unknown>, never, import("./themeStyleOverridesPlugin").MuiThemeStyleOverridesPluginParams, never>;
export declare const useStyles: import("../tss").Tss.UseStyles<{
    theme: import("@mui/material/styles").Theme;
}, Record<never, unknown>, never, import("./themeStyleOverridesPlugin").MuiThemeStyleOverridesPluginParams>;
