import { VueComponentBase, ThemeStore } from "../..";
import { IWebComponentInstance } from "../../../runtime/core/InternalWebComponentBootstrapper";
import { ThemingLocalization } from "../loc/localize";
import { IThemeDefinitionEditor } from "./IThemeDefinitionEditor";
import { ThemeDefinition, ThemeStyling, ThemeColorDefinition } from "../../../models";
declare enum ThemeArea {
    chrome = 1,
    body = 2
}
export declare class ThemeDefinitionEditor extends VueComponentBase implements IWebComponentInstance, IThemeDefinitionEditor {
    valueBind: ThemeDefinition;
    onValueChanged?: (model: ThemeDefinition) => void;
    hideBodySettings?: boolean;
    hideChromeSettings?: boolean;
    hideBorderSettings?: boolean;
    attachedToParent?: boolean;
    loc: ThemingLocalization.locInterface;
    themeStore: ThemeStore;
    private themeDefinitions;
    private advancedModeState;
    private isAdvancedModeExpanded;
    private showCloneDefinitionMenu;
    private menuActivatorId;
    private isChromeTab;
    created(): void;
    mounted(): void;
    onModelUpdated(): void;
    onDefinitionSelected(themeDefintion: ThemeDefinition): void;
    renderBorderThemeStyling(themeStyling: ThemeStyling, themeArea: ThemeArea): VueTsxSupport.JSX.Element;
    renderAdvancedSettings(themeArea: ThemeArea, themeStyling: ThemeStyling): VueTsxSupport.JSX.Element;
    renderCustomThemeStyling(themeDefinition: ThemeColorDefinition, themeArea: ThemeArea): VueTsxSupport.JSX.Element;
    renderSettings(): VueTsxSupport.JSX.Element;
    renderMenuItems(): VueTsxSupport.JSX.Element[];
    renderMenu(): VueTsxSupport.JSX.Element;
    renderSingleTab(): VueTsxSupport.JSX.Element;
    renderTabs(): VueTsxSupport.JSX.Element;
    render(): VueTsxSupport.JSX.Element;
}
export {};
