import { Router } from '@angular/router';
import { ToolbarConfig } from '../../toolbar/toolbar-config';
import { Case } from '../../resources/interface/case';
import { CaseResourceService } from '../../resources/engine-endpoint/case-resource.service';
import { LoggerService } from '../../logger/services/logger.service';
import { DoubleDrawerNavigationService } from '../navigation-double-drawer/service/double-drawer-navigation.service';
import { I18nFieldValue } from '../../data-fields/i18n-field/models/i18n-field-value';
import { LanguageService } from '../../translate/language.service';
import { LoadingEmitter } from '../../utility/loading-emitter';
import { PathService } from "../service/path.service";
import * as i0 from "@angular/core";
export declare abstract class AbstractDashboardComponent {
    protected _caseResource: CaseResourceService;
    protected _log: LoggerService;
    protected _pathService: PathService;
    protected _router: Router;
    protected _languageService: LanguageService;
    protected _doubleDrawerNavigationService: DoubleDrawerNavigationService;
    static readonly MAIN_DASHBOARD = "main_dashboard";
    static readonly DASHBOARD_MANAGEMENT_IDENTIFIER = "dashboard_management";
    static readonly DASHBOARD_MANAGEMENT_ID_DATAFIELD = "dashboard_id";
    static readonly DASHBOARD_MANAGEMENT_ITEM_TO_MENU_ITEM_DATAFIELD = "dashboard_item_to_menu_item";
    static readonly DASHBOARD_MANAGEMENT_SIMPLE_TOOLBAR_DATAFIELD = "simple_dashboard_toolbar";
    static readonly DASHBOARD_MANAGEMENT_PROFILE_TOOLBAR_DATAFIELD = "profile_dashboard_toolbar";
    static readonly DASHBOARD_MANAGEMENT_LANGUAGE_TOOLBAR_DATAFIELD = "language_dashboard_toolbar";
    static readonly DASHBOARD_MANAGEMENT_LOGOUT_TOOLBAR_DATAFIELD = "logout_dashboard_toolbar";
    static readonly DASHBOARD_MANAGEMENT_NAME_DATAFIELD = "dashboard_name";
    static readonly DASHBOARD_MANAGEMENT_LOGO_DATAFIELD = "dashboard_logo";
    static readonly DASHBOARD_MANAGEMENT_ITEMS_ORDER_DATAFIELD = "items_order";
    static readonly DASHBOARD_MANAGEMENT_PROFILE_URL_DATAFIELD = "profile_url";
    static readonly DASHBOARD_MANAGEMENT_LOGIN_URL_DATAFIELD = "login_url";
    static readonly DASHBOARD_ITEM_ICON_DATAFIELD = "item_icon";
    static readonly DASHBOARD_ITEM_NAME_DATAFIELD = "item_name";
    static readonly DASHBOARD_ITEM_URL_DATAFIELD = "external_url";
    static readonly DASHBOARD_ITEM_INTERNAL_DATAFIELD = "is_internal";
    static readonly DASHBOARD_ITEM_EXTERNAL_ICON_DATAFIELD = "external_icon";
    static readonly DASHBOARD_ITEM_FONT_COLOR_DATAFIELD = "font_color";
    static readonly DASHBOARD_ITEM_FONT_WEIGHT_DATAFIELD = "font_weight";
    static readonly DASHBOARD_ITEM_ICON_COLOR_DATAFIELD = "icon_color";
    toolbarConfig: ToolbarConfig;
    dashboardId: string;
    dashboardCase: Case;
    dashboardItems: Array<Case>;
    dashboardItemsMapping: {
        [key: string]: Case;
    };
    private itemsLoaded;
    loading$: LoadingEmitter;
    constructor(_caseResource: CaseResourceService, _log: LoggerService, _pathService: PathService, _router: Router, _languageService: LanguageService, _doubleDrawerNavigationService: DoubleDrawerNavigationService);
    private getMenuItems;
    private getDashboardItems;
    getItemName(itemCase: Case): string;
    getItemIcon(itemCase: Case): string;
    getItemInternal(itemCase: Case): boolean;
    getItemExternalIcon(itemCase: Case): boolean;
    getItemURL(itemCase: Case): string;
    getItemFontColor(itemCase: Case): string;
    getItemFontWeight(itemCase: Case): string;
    getItemIconColor(itemCase: Case): string;
    protected getManagementSimpleToolbar(itemCase: Case): boolean;
    protected getManagementProfileToolbar(itemCase: Case): boolean;
    protected getManagementLanguageToolbar(itemCase: Case): boolean;
    protected getManagementLogoutToolbar(itemCase: Case): boolean;
    protected getManagementName(itemCase: Case): I18nFieldValue;
    protected getManagementLogo(itemCase: Case): string;
    protected getManagementItemsOrder(itemCase: Case): string;
    protected getManagementProfileUrl(itemCase: Case): string;
    protected getManagementLoginUrl(itemCase: Case): string;
    protected getFieldValue(itemCase: Case, fieldId: string): any;
    navigate(itemCase: Case): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDashboardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractDashboardComponent, "ncc-dashboard", never, {}, {}, never, never, false, never>;
}
