import * as react_jsx_runtime from 'react/jsx-runtime';
import * as react from 'react';
import { Dispatch, SetStateAction, PropsWithChildren } from 'react';
import { TranslationPlural, Translation } from '../localization/useTranslation.js';
import '../localization/util.js';

declare const themes: readonly ["light", "dark"];
type ThemeType = typeof themes[number];
type ThemeTypeTranslation = Record<ThemeType, string> & {
    theme: TranslationPlural;
};
declare const ThemeUtil: {
    themes: readonly ["light", "dark"];
    translation: Translation<ThemeTypeTranslation>;
};
type ThemeContextType = {
    theme: ThemeType;
    setTheme: Dispatch<SetStateAction<ThemeType>>;
};
declare const ThemeContext: react.Context<ThemeContextType>;
type ThemeProviderProps = {
    initialTheme?: ThemeType;
};
declare const ThemeProvider: ({ children, initialTheme }: PropsWithChildren<ThemeProviderProps>) => react_jsx_runtime.JSX.Element;
declare const useTheme: () => ThemeContextType;

export { ThemeContext, ThemeProvider, type ThemeType, type ThemeTypeTranslation, ThemeUtil, useTheme };
