import { EventEmitter, SimpleChanges } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { BreadcrumbItem } from '../breadcrumb/breadcrumb.model';
import { DashboardComponent } from './dashboard.component';
import { DashboardChange, DashboardSettings, Widget, WidgetChange, DashboardCopyPermission } from './dashboard.model';
import { DynamicComponentService } from '../dynamic-component/dynamic-component.service';
import { BehaviorSubject, Observable } from 'rxjs';
import { DashboardChildComponent } from './dashboard-child.component';
import { TranslateService } from '@ngx-translate/core';
import { RevertChangeType } from './widget-change-event.model';
import { ModalService } from '../modal';
import { WidgetGlobalAutoRefreshService } from './widget-auto-refresh-context';
import * as i0 from "@angular/core";
export declare class WidgetsDashboardComponent {
    private dynamic;
    private translateService;
    private route;
    private modal;
    private widgetGlobalAutoRefresh;
    private router;
    set widgets(value: Widget[]);
    get widgets(): Widget[];
    context: any;
    /**
     * Indicates if device info in config should be overridden with values from context property.
     */
    contextDashboard: any;
    set _settings(settings: Partial<DashboardSettings>);
    isCopyDisabled: DashboardCopyPermission | boolean;
    breadcrumb: BreadcrumbItem;
    editModeButtons: {
        undoButtonDisabled: boolean;
        changeToUndoName: string;
        redoButtonDisabled: boolean;
        changeToRedoName: string;
    };
    settings: DashboardSettings;
    onAddWidget: EventEmitter<DashboardComponent>;
    onEditWidget: EventEmitter<WidgetChange>;
    onDeleteWidget: EventEmitter<WidgetChange>;
    onChangeDashboard: EventEmitter<DashboardChange>;
    onResize: EventEmitter<void>;
    onEditDashboard: EventEmitter<DashboardComponent>;
    onCopyDashboard: EventEmitter<DashboardComponent>;
    onDeleteDashboard: EventEmitter<DashboardComponent>;
    onChangeStart: EventEmitter<WidgetChange>;
    onChangeEnd: EventEmitter<WidgetChange>;
    onSaveDashboard: EventEmitter<any>;
    onCancelDashboard: EventEmitter<any>;
    revertChange: EventEmitter<RevertChangeType>;
    resolvedWidgets$: Observable<Widget[]>;
    isLoadingWidgets$: Observable<boolean>;
    copyDisabledPopoverMsg: string;
    widgetInFullscreenMode: boolean;
    inFullScreen$: Observable<boolean>;
    editMode$: BehaviorSubject<boolean>;
    readonly copyDashboardLabel: "Copy dashboard";
    readonly undoMessage: "Undo: \"{{ changeToUndo }}\"";
    readonly redoMessage: "Redo: \"{{ changeToRedo }}\"";
    readonly ACTION_BAR_EDIT_WIDGETS_PRIORITY = 10;
    private _widgets;
    private isLoading$;
    private isExecutingResolvers$;
    constructor(dynamic: DynamicComponentService, translateService: TranslateService, route: ActivatedRoute, modal: ModalService, widgetGlobalAutoRefresh: WidgetGlobalAutoRefreshService, router: Router);
    ngOnChanges({ isCopyDisabled }: SimpleChanges): void;
    canDeactivate(omitConfirm?: boolean): Promise<boolean>;
    toggleFullscreen(hasWidget?: boolean): void;
    fullScreen(): boolean;
    toggleFullscreenOnWidget(child: DashboardChildComponent): void;
    updateWidgetClasses(widget: Widget, classes: Record<string, boolean>): void;
    updateWidgetConfig(data: any, widget: Widget): void;
    cancelDashboardSave(): Promise<void>;
    saveDashboard(): void;
    enableEditMode(): void;
    private setCopyDisabledPopoverMsg;
    private confirmClosing;
    private executeResolversOfWidgets;
    static ɵfac: i0.ɵɵFactoryDeclaration<WidgetsDashboardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WidgetsDashboardComponent, "c8y-widgets-dashboard", never, { "widgets": { "alias": "widgets"; "required": false; }; "context": { "alias": "context"; "required": false; }; "contextDashboard": { "alias": "contextDashboard"; "required": false; }; "_settings": { "alias": "settings"; "required": false; }; "isCopyDisabled": { "alias": "isCopyDisabled"; "required": false; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; }; "editModeButtons": { "alias": "editModeButtons"; "required": false; }; }, { "onAddWidget": "onAddWidget"; "onEditWidget": "onEditWidget"; "onDeleteWidget": "onDeleteWidget"; "onChangeDashboard": "onChangeDashboard"; "onResize": "onResize"; "onEditDashboard": "onEditDashboard"; "onCopyDashboard": "onCopyDashboard"; "onDeleteDashboard": "onDeleteDashboard"; "onChangeStart": "onChangeStart"; "onChangeEnd": "onChangeEnd"; "onSaveDashboard": "onSaveDashboard"; "onCancelDashboard": "onCancelDashboard"; "revertChange": "revertChange"; }, never, never, false, never>;
}
//# sourceMappingURL=widgets-dashboard.component.d.ts.map