import React, { ReactNode } from 'react'; import { Theme } from '@mui/material/styles'; export interface ThemeDark { id: 'dark'; other: 'light'; } export interface ThemeLight { id: 'light'; other: 'dark'; } export type ThemeSettings = { [key: string]: Theme; }; export type switchTheme = (target?: string) => void; export interface AppThemeContext { switchTheme: switchTheme; themes: ThemeSettings; theme: Theme; } /** * Hook to consume the `AppThemeContext` */ export declare const useSwitchTheme: () => AppThemeContext; /** * Props for `AppTheme` */ export interface AppThemeProps { themes: ThemeSettings; defaultDark?: boolean; dark?: ThemeDark; light?: ThemeLight; fallback?: string; } /** * Provides a switch between multiple themes, with auto-detection from browser and localStorage persistence */ export declare const AppTheme: ({ themes, defaultDark, dark, light, fallback, children, }: AppThemeProps & { children?: ReactNode | undefined; }) => React.ReactElement;