import { EventEmitter, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { AppStateService, ContextData, ContextRouteService, GainsightService, GroupService, ModalService, Tab, TabsService } from '@c8y/ngx-components';
import { TranslateService } from '@ngx-translate/core';
import { Observable } from 'rxjs';
import { AllowTypeDashboard, ContextDashboard, ContextDashboardManagedObject, DashboardDetailsTabId, DashboardDetailsTabs, DashboardHistoryDescription } from './context-dashboard.model';
import { ContextDashboardService } from './context-dashboard.service';
import { InventoryService } from '@c8y/client';
import { DashboardDetailService } from './dashboard-detail.service';
import * as i0 from "@angular/core";
export declare class DashboardDetailComponent implements OnInit, OnChanges, OnDestroy {
    private contextDashboardService;
    private translateService;
    private contextRoute;
    private activatedRoute;
    private tabsService;
    private router;
    private inventory;
    private route;
    private dashboardDetailService;
    private appState;
    private groupService;
    private modal;
    private gainsightService;
    isCollapsed: boolean;
    currentContext: ContextData;
    currentDashboard: ContextDashboard;
    isReport: boolean;
    deviceType: string;
    context: any;
    mo: ContextDashboardManagedObject;
    dashboard: ContextDashboard;
    isNamedDashboard: boolean;
    hideAvailability: boolean;
    deviceTypeValue: string;
    displayDeviceTypeValue: string;
    icons: string[];
    namePlaceholder: string;
    tabs$: Observable<Tab[]>;
    selectedTab: DashboardDetailsTabId;
    dashboardDetailsForm: ReturnType<DashboardDetailService['initForm']>;
    generalSettingsForm: ReturnType<DashboardDetailService['initGeneralSettingsForm']>;
    appearanceSettingsForm: ReturnType<DashboardDetailService['initAppearanceSettingsForm']>;
    allowTypeDashboard: AllowTypeDashboard;
    isEdit: boolean;
    dashboardSaved: EventEmitter<ContextDashboard>;
    previewChanged: EventEmitter<any>;
    private destroy$;
    readonly TABS_OUTLET_NAME = "dashboardTabs";
    readonly TABS: DashboardDetailsTabs;
    constructor(contextDashboardService: ContextDashboardService, translateService: TranslateService, contextRoute: ContextRouteService, activatedRoute: ActivatedRoute, tabsService: TabsService, router: Router, inventory: InventoryService, route: ActivatedRoute, dashboardDetailService: DashboardDetailService, appState: AppStateService, groupService: GroupService, modal: ModalService, gainsightService: GainsightService);
    ngOnInit(): void;
    ngOnChanges(): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    save(): Promise<void>;
    updateDashboardHistoryDescription(dashboardChanges: string[]): DashboardHistoryDescription;
    selectTab(selectedTab: DashboardDetailsTabId): void;
    cancel(): Promise<void>;
    canDeactivate(omitConfirm?: boolean): Promise<boolean>;
    show(isEdit: boolean): void;
    revertDashboard(dashboard: ContextDashboard): Promise<void>;
    duplicateWithoutType(): Promise<void>;
    private updateAllowTypeDashboard;
    private initForm;
    private confirmClosing;
    private createNewDashboard;
    private onCreateGSEvent;
    private convertStringToHash;
    private createNewReport;
    private updateDashboard;
    private edit;
    private initializeConfiguration;
    private updateReport;
    private cleanupAfterDetailsClose;
    static ɵfac: i0.ɵɵFactoryDeclaration<DashboardDetailComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DashboardDetailComponent, "c8y-dashboard-detail", never, { "isReport": { "alias": "isReport"; "required": false; }; "deviceType": { "alias": "deviceType"; "required": false; }; "context": { "alias": "context"; "required": false; }; "mo": { "alias": "mo"; "required": false; }; "dashboard": { "alias": "dashboard"; "required": false; }; "isNamedDashboard": { "alias": "isNamedDashboard"; "required": false; }; "hideAvailability": { "alias": "hideAvailability"; "required": false; }; }, { "dashboardSaved": "dashboardSaved"; "previewChanged": "previewChanged"; }, never, never, false, never>;
}
//# sourceMappingURL=dashboard-detail.component.d.ts.map