import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
import ThemeLayer from '../../models/layers/themelayer.js';
import CustomTheme from '../../models/customtheme.js';
declare const ThemeTypes: readonly ["all", "favorites", "custom"];
type ThemeType = (typeof ThemeTypes)[number];
declare class ThemeComponent extends GirafeHTMLElement {
templateUrl: null;
styleUrls: null;
template: () => import("uhtml").Hole;
newIcon: string;
menuOpen: boolean;
openedOnce: boolean;
activeThemeType: ThemeType;
clickOutsideContainer: HTMLElement | null;
get customThemes(): CustomTheme[];
get allThemes(): Record;
get favoriteThemes(): (ThemeLayer | CustomTheme)[];
get activeThemes(): Record | (ThemeLayer | CustomTheme)[];
constructor();
registerEvents(): void;
render(): void;
onBlur(): void;
toggleThemesList(): void;
activateThemeType(themeType: ThemeType): void;
onThemeChanged(theme: ThemeLayer | CustomTheme): void;
isThemeActive(theme: ThemeLayer | CustomTheme): boolean;
isThemeFavorite(theme: ThemeLayer | CustomTheme): boolean;
onThemeFavoriteChanged(theme: ThemeLayer | CustomTheme, e: Event): void;
isThemeTypeActive(themeType: ThemeType): boolean;
isCustomTheme(theme: ThemeLayer | CustomTheme): theme is CustomTheme;
onCustomThemeChanged(customTheme: CustomTheme): void;
onAddCustomTheme(): Promise;
onDeleteCustomTheme(customTheme: CustomTheme, e: Event): Promise;
protected connectedCallback(): void;
}
export default ThemeComponent;