import React, { type ReactElement } from "react";
import { SystemTheme as SystemThemeEnum, type Theme, ThemeColor as ThemeColorEnum } from "./ThemeProviderConstants";
import { type SystemTheme } from "./ThemeProvider.types";
export interface ThemeProviderProps {
    /**
     * The theme configuration to apply. It consists of a `name` (a unique CSS class name added to the children)
     * and an object of color overrides for each system theme.
     */
    themeConfig?: Theme;
    /**
     * The children to be rendered with the applied theme.
     */
    children: ReactElement;
    /**
     * A string added to the theme name selector to make it more specific, in case `themeConfig.name`
     * collides with another class name.
     */
    themeClassSpecifier?: string;
    /**
     * The system theme to apply to the `body` element on mount,
     * if there is no system theme class name on the body already.
     */
    systemTheme?: SystemTheme;
    /**
     * Class name applied to the wrapping `div`.
     */
    className?: string;
}
declare const _default: React.FC<ThemeProviderProps> & {
    systemThemes: typeof SystemThemeEnum;
    colors: typeof ThemeColorEnum;
};
export default _default;
