import { Editor } from '../html_editor/editor';
import { BlockTab } from './sidebar/block_tab';
import { CustomizeTab } from './sidebar/customize_tab';
/**
* @typedef {(() => void)[]} on_mobile_preview_clicked
* @typedef {(() => void)[]} trigger_dom_updated
* @typedef {{ Component: Component; props: object; }[]} lower_panel_entries
*/
export class Builder {
static template: string;
static components: {
BlockTab: typeof BlockTab;
CustomizeTab: typeof CustomizeTab;
};
static props: {
closeEditor: {
type: FunctionConstructor;
optional: boolean;
};
reloadEditor: {
type: FunctionConstructor;
optional: boolean;
};
onEditorLoad: {
type: FunctionConstructor;
optional: boolean;
};
installSnippetModule: {
type: FunctionConstructor;
optional: boolean;
};
snippetsName: {
type: StringConstructor;
};
toggleMobile: {
type: FunctionConstructor;
};
overlayRef: {
type: FunctionConstructor;
};
iframeLoaded: {
type: ObjectConstructor;
};
isMobile: {
type: BooleanConstructor;
};
Plugins: {
type: ArrayConstructor;
optional: boolean;
};
config: {
type: ObjectConstructor;
optional: boolean;
};
getThemeTab: {
type: FunctionConstructor;
optional: boolean;
};
editableSelector: {
type: StringConstructor;
};
themeTabDisplayName: {
type: StringConstructor;
optional: boolean;
};
slots: {
type: ObjectConstructor;
optional: boolean;
};
getCustomizeTranslationTab: {
type: FunctionConstructor;
optional: boolean;
};
};
static defaultProps: {
config: {};
themeTabDisplayName: any;
};
setup(): void;
ThemeTab: any;
CustomizeTranslationTab: any;
builder_sidebarRef: any;
state: any;
invisibleElementsPanelState: any;
orm: import('../web/core/orm_service').ORM | undefined;
ui: any;
notification: {
add: (message: string, options?: import('../web/core/notifications/notification_service').NotificationOptions | undefined) => () => void;
} | undefined;
snippetModel: any;
lastTrigerUpdateId: number | undefined;
editorBus: any;
colorPresetToShow: number | null | undefined;
activeTargetEl: any;
/** @type {Editor} */
editor: Editor | undefined;
removeLoadingEffect: Function | undefined;
actionButtonEls: any;
editableEl: any;
onDragStart: ((ev: any) => void) | undefined;
noSelectionTab: string | undefined;
triggerDomUpdated(): Promise;
get displayOnlyCustomizeTab(): any;
getInvisibleSelector(isMobile?: any): string;
/**
* Called when clicking on a tab. Sets the active tab to the given tab.
*
* @param {String} tab the tab to set
* @param {Number | null} presetId the color preset expanding on "theme" tab
* open.
*/
onTabClick(tab: string, presetId?: number | null): void;
setTab(tab: any): void;
undo(): void;
redo(): void;
onMobilePreviewClick(): void;
updateInvisibleEls(isMobile?: any): void;
lowerPanelEntries(): any;
editColorCombination(presetId: any): void;
getActiveTarget(): any;
}
export type on_mobile_preview_clicked = (() => void)[];
export type trigger_dom_updated = (() => void)[];
export type lower_panel_entries = {
Component: Component;
props: object;
}[];