import React, { type ReactElement } from "react"; import { type Theme } 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 ThemeProvider: ({ themeConfig, children, themeClassSpecifier: customThemeClassSpecifier, systemTheme, className }: ThemeProviderProps) => React.JSX.Element; export default ThemeProvider;