import { type ReactNode, type JSXElementConstructor } from 'react'; import { themes } from "./design-tokens.js"; type ThemeName = keyof typeof themes; declare const defaultParentSelector: () => HTMLElement | null; type ThemeProviderProps = { parentSelector?: typeof defaultParentSelector; theme?: string; themeOverrides?: Record; }; declare const ThemeProvider: ({ parentSelector, theme, ...props }: ThemeProviderProps) => null; type TUseThemeResult = { theme: ThemeName; themedValue: (defaultThemeValue: Old, newThemeValue: New) => Old | New; /** @deprecated */ isNewTheme: boolean; isRecolouringTheme: boolean; }; declare const useTheme: (parentSelector?: () => HTMLElement | null) => TUseThemeResult; declare const withThemeContext: (WrappedComponent: JSXElementConstructor) => (props: Record) => import("@emotion/react/jsx-runtime").JSX.Element; export { ThemeProvider, useTheme, withThemeContext }; export type { ThemeName, TUseThemeResult };