import * as rxjs from 'rxjs'; import { Observable } from 'rxjs'; import { Store } from '@tethys/store'; import * as i0 from '@angular/core'; import { InjectionToken, EnvironmentProviders } from '@angular/core'; import { Route } from '@angular/router'; interface ThyMenuRoute { path?: string; title: string; icon?: string; children?: ThyMenuRoute[]; parent?: ThyMenuRoute; } interface ThyMenuLoadStrategy { load(): Observable; getMenuByRoute(route: Route): ThyMenuRoute | undefined; } declare const THY_MENU_LOAD_STRATEGY: InjectionToken; type Theme = 'light' | 'dark' | 'auto'; type Layout = 'side' | 'top' | 'mix'; interface ThySiteSettings { theme: Theme; primaryColor: string; layout: Layout; showHeader: boolean; showFooter: boolean; fixSiderbar: boolean; fixedHeader: boolean; splitMenu: boolean; } interface ThyGlobalInfo { settings: ThySiteSettings; menus: ThyMenuRoute[]; activeMenu?: ThyMenuRoute; } declare class ThyGlobalStore extends Store { private menuCustomLoadStrategy; private menuDefaultLoadStrategy; private get menuLoadStrategy(); constructor(); initialize(): rxjs.Observable; initializeMenus(menus: ThyMenuRoute[]): void; pureUpdateActiveMenuByRoute(route: Route | undefined | null): void; pureUpdateActiveMenu(menu: ThyMenuRoute): void; pureUpdateSettings(config: Partial): void; changeTheme(): void; changePrimaryColor(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } declare const THY_SITE_SETTINGS: InjectionToken; declare const THY_DEFAULT_SITE_SETTINGS: { theme: string; primaryColor: string; layout: string; showHeader: boolean; showFooter: boolean; fixSiderbar: boolean; fixedHeader: boolean; splitMenu: boolean; }; declare const THY_SITE_SETTINGS_PROVIDER: { provide: InjectionToken; useValue: { theme: string; primaryColor: string; layout: string; showHeader: boolean; showFooter: boolean; fixSiderbar: boolean; fixedHeader: boolean; splitMenu: boolean; }; }; declare function provideSettings(settings: ThySiteSettings): EnvironmentProviders; declare function provideMenuLoadStrategy(factory: () => ThyMenuLoadStrategy): EnvironmentProviders; export { THY_DEFAULT_SITE_SETTINGS, THY_MENU_LOAD_STRATEGY, THY_SITE_SETTINGS, THY_SITE_SETTINGS_PROVIDER, ThyGlobalStore, provideMenuLoadStrategy, provideSettings }; export type { ThyGlobalInfo, ThyMenuLoadStrategy, ThyMenuRoute, ThySiteSettings }; //# sourceMappingURL=tethys-pro-core.d.ts.map