import type { ReactNode } from "react"; import type { SyntaxStyle } from "@opentui/core"; import type { ColorMode } from "@tooee/config"; import type { ResolvedTheme } from "./types.js"; import type { Theme } from "./loader.js"; interface ThemeContextValue { theme: ResolvedTheme; syntax: SyntaxStyle; name: string; mode: ColorMode; } export interface ThemeProviderProps { /** Theme name (e.g. "tokyonight", "catppuccin", "dracula") */ name?: string; /** Color mode */ mode?: ColorMode; /** Full Theme object (overrides name/mode if provided) */ theme?: Theme; children: ReactNode; } export declare const ThemeProvider: ({ name, mode, theme: themeProp, children, }: ThemeProviderProps) => ReactNode; export declare const useTheme: () => ThemeContextValue; interface ThemeSwitcherContextValue extends ThemeContextValue { nextTheme: () => void; prevTheme: () => void; setTheme: (name: string, opts?: { persist?: boolean; }) => void; allThemes: string[]; } export interface ThemeSwitcherProviderProps { initialTheme?: string; initialMode?: ColorMode; children: ReactNode; } export declare const ThemeSwitcherProvider: ({ initialTheme, initialMode, children, }: ThemeSwitcherProviderProps) => ReactNode; export declare const useThemeSwitcher: () => ThemeSwitcherContextValue; export {}; //# sourceMappingURL=context.d.ts.map