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 }}";
    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, false, never>;
}
//# sourceMappingURL=typed-dashboard-settings.component.d.ts.map