import * as react from 'react'; import { a as ThemeStore, T as ThemeContext } from '../context-DsMFP6un.js'; import { T as ThemeContract, a as SetThemeOptions } from '../types-BAqJDAl9.js'; /** * Re-exported under its historical name so existing imports keep working. * New code should prefer {@link DefaultThemeContext} from `core/context`. */ declare const ThemeStoreContext: react.Context; /** The shape every bound `useTheme` returns, generic over the theme union. */ type UseThemeHook = () => ThemeContract & { theme: T | 'system'; resolvedTheme: T; setTheme: (theme: T | 'system' | ((prev: T | 'system') => T | 'system'), options?: SetThemeOptions) => void; }; /** * Build a `useTheme` bound to a specific {@link ThemeContext}. * * `createThemes()` uses this to bind its hooks to its own private context, so * two typed theme APIs in one app cannot read each other's store. The top-level * `useTheme` export below is simply this factory applied to the default * context. */ declare function makeUseTheme(Context: ThemeContext): UseThemeHook; /** * Read the current theme state and obtain a setter. Must be called inside a * ThemeProvider. `T` narrows the accepted theme values for setTheme. */ declare const useTheme: UseThemeHook; export { ThemeStoreContext, type UseThemeHook, makeUseTheme, useTheme };