import { ApplicationService, InventoryService } from '@c8y/client';
import { AppStateService, NavigatorNode, NavigatorService, OptionsService, Permissions, SearchService, TabsService } from '@c8y/ngx-components';
import { AssetNavigatorConfig, AssetNodeService } from '@c8y/ngx-components/assets-navigator';
import { CockpitConfig } from './cockpit-config.model';
import * as i0 from "@angular/core";
export declare class CockpitConfigService {
    private navigatorService;
    private tabsService;
    private searchService;
    private assetNodeService;
    private inventoryService;
    private appState;
    private applicationService;
    private optionsService;
    private permissions;
    moduleConfig: AssetNavigatorConfig;
    currentConfig: CockpitConfig;
    nodes: NavigatorNode[];
    private navigationFactory;
    private readonly DEFAULT_NODE_PRIORITY;
    get excludedFeatureKeys(): string[];
    constructor(navigatorService: NavigatorService, tabsService: TabsService, searchService: SearchService, assetNodeService: AssetNodeService, inventoryService: InventoryService, appState: AppStateService, applicationService: ApplicationService, optionsService: OptionsService, permissions: Permissions, moduleConfig: AssetNavigatorConfig);
    init(): void;
    /**
     * Save and apply new cockpit configuration
     * @param config - New cockpit configuration
     */
    saveConfig(config: CockpitConfig): Promise<void>;
    /**
     * Update current application using the provided configuration
     * @param config - Cockpit configuration
     */
    updateApplication(config: CockpitConfig): Promise<void>;
    refresh(): void;
    setRootNodes(): Promise<void>;
    getAppDashboardName(): string;
    private storeApplicationConfig;
    private addNodesToFactories;
    private registerFilterForFeatures;
    private setHiddenAttrLock;
    private filterTabs;
    private filterNavigatorNode;
    private hideChildrenNodesThatAreDisabled;
    private showAllChildrenNodes;
    static ɵfac: i0.ɵɵFactoryDeclaration<CockpitConfigService, [null, null, null, null, null, null, null, null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CockpitConfigService>;
}
//# sourceMappingURL=cockpit-config.service.d.ts.map