import { EventEmitter, OnInit } from '@angular/core';
import { InterAppService, SupportedAppKey } from '@c8y/ngx-components';
import { IApplication, InventoryService } from '@c8y/client';
import { ControlValueAccessor } from '@angular/forms';
import { AllowTypeDashboard, ContextDashboardManagedObject } from '../context-dashboard.model';
import { Observable } from 'rxjs';
import { ActivatedRoute } from '@angular/router';
import * as i0 from "@angular/core";
export declare class TypedDashboardSettingsComponent implements ControlValueAccessor, OnInit {
    private inventory;
    private interAppService;
    private route;
    value: boolean;
    touched: boolean;
    disabled: boolean;
    deviceTypeValue: string;
    displayDeviceTypeValue: string;
    formInvalid: boolean;
    mo: ContextDashboardManagedObject;
    isDevice: boolean;
    allowTypeDashboard: AllowTypeDashboard;
    onDuplicateWithoutType: EventEmitter<void>;
    typedDashboardStatus: string;
    infoText: string;
    deviceTypeInstancesCount: number;
    showSourceNavigationLink$: Observable<boolean>;
    userDeviceManagementApp$: Observable<IApplication>;
    context: any;
    deviceManagementAppKey: SupportedAppKey;
    deviceManagementLinkTitle: "Device Info page in {{ deviceManagementAppName }}";
    PRODUCT_EXPERIENCE: {
        readonly DASHBOARD: {
            readonly EVENTS: {
                readonly DASHBOARDS: "dashboards";
                readonly REPORTS: "reports";
                readonly DASHBOARD_TEMPLATE: "dashboardTemplate";
            };
            readonly COMPONENTS: {
                readonly DASHBOARD_VIEW: "context-dashboard";
                readonly DASHBOARD_AVAILABILITY: "dashboard-availability";
                readonly REPORTS_LIST: "report-dashboard-list";
                readonly ADD_REPORT: "report-dashboard-list";
                readonly ADD_DASHBOARD: "add-dashboard";
                readonly DELETE_DASHBOARD: "context-dashboard";
                readonly TYPED_DASHBOARD_SETTINGS: "typed-dashboard-settings";
            };
            readonly CONTEXT: {
                readonly REPORT: "report";
                readonly DEVICE: "device";
                readonly ASSET: "asset";
                readonly GROUP: "group";
            };
            readonly ACTIONS: {
                readonly APPLY_GLOBAL_ROLES_CHANGES: "applyGlobalRolesChanges";
                readonly DELETE: "delete";
                readonly LOAD: "load";
                readonly CREATE: "create";
                readonly ADD_REPORT: "addReport";
                readonly DUPLICATE_AS_REGULAR_DASHBOARD: "duplicateAsRegularDashboard";
            };
        };
    };
    constructor(inventory: InventoryService, interAppService: InterAppService, route: ActivatedRoute);
    ngOnInit(): Promise<void>;
    goToDeviceView(): Promise<void>;
    onChange: (_: any) => void;
    onTouched: () => void;
    writeValue(value: boolean): void;
    registerOnChange(fn: any): void;
    registerOnTouched(onTouched: any): void;
    markAsTouched(): void;
    setDisabledState(disabled: boolean): void;
    toggle(): Promise<void>;
    private updateTexts;
    private updateDeviceTypeCount;
    static ɵfac: i0.ɵɵFactoryDeclaration<TypedDashboardSettingsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TypedDashboardSettingsComponent, "c8y-typed-dashboard-settings", never, { "deviceTypeValue": { "alias": "deviceTypeValue"; "required": false; }; "displayDeviceTypeValue": { "alias": "displayDeviceTypeValue"; "required": false; }; "formInvalid": { "alias": "formInvalid"; "required": false; }; "mo": { "alias": "mo"; "required": false; }; "isDevice": { "alias": "isDevice"; "required": false; }; "allowTypeDashboard": { "alias": "allowTypeDashboard"; "required": false; }; }, { "onDuplicateWithoutType": "onDuplicateWithoutType"; }, never, never, true, never>;
}
//# sourceMappingURL=typed-dashboard-settings.component.d.ts.map