import { ComponentFactoryResolver } from '@angular/core'; import { Router } from '@angular/router'; import { NbMenuService, NbMenuItem } from '@nebular/theme'; import { LazyComponent } from '.'; import { NbAuthService } from '@nebular/auth'; /** * @description - A class to be extended by angular Components. It encapsulates the core methods to create admin dashboards */ export declare abstract class AdminApp { private resolver; private nbMenuService; private router; private nbAuth; private appSelector; private adminMain; private appRef; private appInstance; private routePair; constructor(resolver: ComponentFactoryResolver, nbMenuService: NbMenuService, router: Router, nbAuth: NbAuthService); /** * * @description - Add items to the tab menu, items listed through this method will be visible in the main interface. * * @see {@link https://akveo.github.io/eva-icons/#/} * * @example * * ngAfterViewInit() { * this.registerRoute('/pages/a', PageAComponent); * this.registerRoute('/pages/b', PageBComponent); * * this.build(); * * this.addMenuItem([ * { * title: 'page C', * link: 'pages/c', * }, * ]); * * this.registerRoute('/pages/c', PageCComponent); * } */ addMenuItem(items: NbMenuItem[]): void; /** * @description Manually triggers a navigation action to the specified route, the related component is then lazy loaded. * * @param route Route to navigate to, this route should be registered before use. */ goToRoute(route: string): void; /** * * @param route route to register * @param component component to load on NavigationStart by clicking the tab menu. * * @example * * ngAfterViewInit() { * this.registerRoute('/pages/a', PageAComponent); * this.registerRoute('/pages/b', PageBComponent); * * this.build(); * * this.addMenuItem([ * { * title: 'page C', * link: 'pages/c', * }, * ]); * * this.registerRoute('/pages/c', PageCComponent); * } */ registerRoute(route: any, config: LazyComponent): void; /** * @description "Instantiates" the admin panel with the routes provided with @see {@link registerRoute} method. * * Further routing and menu options could be provided in execution time using {@link addMenuItem} * * To make your dashboard app selector with admin-main directive available, * make sure this method is called within the NgAfterViewInit Hook. */ build(options?: any): void; }