import { WebbitConfig } from '@webbitjs/webbit'; import Dashboard from './dashboard'; export interface Tutorial { id: string; name: string; element?: string; html: string; } export default class FrcDashboard extends Dashboard { private tutorials; private layers; private themeSheets; constructor(rootElement?: HTMLElement); openDrawer(): void; closeDrawer(): void; isDrawerOpened(): boolean; setSelectedElement(element: HTMLElement): void; setPreviewedElement(element: HTMLElement | null): void; addElements(elementConfigs?: Record>, group?: string): void; setHtml(html: string): void; resetHtml(): void; reloadHtml(): void; getSelectedElement(): HTMLElement | null; getPreviewedElement(): HTMLElement | null; getAllowedChildren(): { slot: string; allowedChildren: string[]; }[]; /** * * @param {string} id * @param {string} elementName */ addPropertyInput(id: string, elementName: string): void; addElementEditor(id: string, elementName: string): void; addTutorial(tutorial: Tutorial): void; getTutorialIds(): string[]; getTutorial(id: string): Tutorial | undefined; showTutorial(id: string): void; getElementTutorials(selector: string): Tutorial[]; addTab(name: string, html?: string): HTMLElement; isElementEditable(element?: HTMLElement | null): boolean; addLayer(name: string): HTMLElement; hasLayer(name: string): boolean; getLayer(name: string): HTMLElement | undefined; getLayers(): Record; addThemeRules(theme: string, cssVariables: Record): void; setTheme(theme: string): void; getTheme(): string; getThemes(): string[]; }