export { ScopedTheme, ScopedThemeProps } from './components/scoped-theme.js';
export { ThemedIcon, ThemedIconProps } from './components/themed-icon.js';
export { ThemedImage, ThemedImageProps } from './components/themed-image.js';
export { T as ThemeContext, a as ThemeStore } from './context-DTdAssyl.js';
export { A as Attribute, C as CookieOptions, a as SetThemeAction, S as SetThemeOptions, b as StorageConfig, c as StorageMode, T as ThemeContract, d as ThemeState, e as TransitionConfig, f as TransitionOptions, g as TransitionOrigin, h as TransitionType } from './types-BK2-7cKa.js';
import { T as ThemeProviderProps, C as CreateThemesConfig, a as ThemesApi } from './create-themes-BpEg3fnB.js';
export { useHydrated } from './hooks/use-hydrated.js';
export { useTheme } from './hooks/use-theme.js';
export { useThemeEffect } from './hooks/use-theme-effect.js';
export { ThemeValueMap, useThemeValue } from './hooks/use-theme-value.js';
import 'react';

/**
 * Next.js App Router ThemeProvider. The inline anti-FOUC script is injected
 * via `useServerInsertedHTML`, placing it in the server-rendered HTML head —
 * it blocks before hydration, and React 19 does not emit a client-script
 * warning since the script is not part of the React tree. A remount on the
 * client (say a root `[lang]` segment changing) renders no script at all,
 * which is what keeps upstream next-themes #397 away.
 */
declare function ThemeProvider(props: ThemeProviderProps): React.JSX.Element;

/**
 * Create a typed theme API bound to a literal theme tuple. Returns a
 * pre-configured `ThemeProvider` plus typed hooks and components that know
 * your theme names at compile time.
 *
 * @example
 *   export const { ThemeProvider, useTheme, useThemeValue } = createThemes({
 *     themes: ['light', 'dark', 'sepia'] as const,
 *     defaultTheme: 'system',
 *   });
 */
declare const createThemes: <T extends readonly string[]>(config: CreateThemesConfig<T>) => ThemesApi<T>;

export { CreateThemesConfig, ThemeProvider, ThemeProviderProps, ThemesApi, createThemes };
