export type Theme = Record; export type Themes = Record; export interface ThemeManager { themes: Record>; currentTheme: string; eventListeners: Array<(theme: string) => void>; loadThemesFromJSON: (url: string) => Promise; switchTheme: (themeName: string) => void; onThemeChange: (callback: (theme: string) => void) => void; setThemeVariable: (variable: string, value: string) => void; addThemeVariable: (themeName: string, variable: string, value: string) => void; applyTheme: () => void; }