import type { RouteLocationRaw } from 'vue-router'; import Translator from '../i18n'; import ReactiveStore from '../reactive-store'; export interface INavItemBadge { content: string; tooltip?: string; } export interface INavItem { title: string; href?: string; to?: RouteLocationRaw; iconClass?: string; badges?: INavItemBadge[]; children?: INavItem[]; } export interface IState { fontFamily: string; title: string; homeLink: string; mainNav: INavItem[]; } export default class AppConfig extends ReactiveStore { protected trans: Translator; constructor(trans?: Translator); getInitialState(): IState; protected get rootStyles(): Record; applyToDom(): this; setConfig(config: Partial & Partial<{ lang: string; fallbackLang: string; }>): this; get appTitle(): string; get appHomeLink(): string; get mainNav(): INavItem[]; get lang(): string; get fallbackLang(): string; }