import { OnDestroy, OnInit } from '@angular/core';
import { DeviceRegistrationStatus, IDeviceRegistration, IDeviceRegistrationLimit, Paging } from '@c8y/client';
import { Observable } from 'rxjs';
import { DeviceBootstrapRealtimeService, TenantUiService, ModalService, OptionsService } from '@c8y/ngx-components';
import { RegisterDeviceService } from './register-device.service';
import { TranslateService } from '@ngx-translate/core';
import { ActivatedRoute } from '@angular/router';
import { GeneralDeviceRegistrationService } from './general/general-device-registration.service';
import * as i0 from "@angular/core";
export declare class DeviceRegistrationViewComponent implements OnInit, OnDestroy {
    private registerDeviceService;
    private bootstrapRealtimeService;
    private tenantUiService;
    private modalService;
    private translateService;
    private optionsService;
    private activatedRoute;
    private generalRegistration;
    deviceRequests$: Observable<{
        data: IDeviceRegistration[];
        paging?: Paging<IDeviceRegistration>;
    }>;
    limit$: Observable<IDeviceRegistrationLimit>;
    limitReachedInfo$: Observable<string>;
    requireSecurityToken: boolean;
    isManagementTenant: boolean;
    isLoading: boolean;
    gridOrList: 'interact-list' | 'interact-grid';
    status: typeof DeviceRegistrationStatus;
    readonly statusProps: {
        [x: number]: {
            label: "Waiting for connection";
            icon: string;
            cls: string;
        } | {
            label: "Pending acceptance";
            icon: string;
            cls: string;
        } | {
            label: "Accepted";
            icon: string;
            cls: string;
        } | {
            label: "Blocked";
            icon: string;
            cls: string;
        };
    };
    private unsubscribe$;
    private readonly _securityTokenPolicy;
    constructor(registerDeviceService: RegisterDeviceService, bootstrapRealtimeService: DeviceBootstrapRealtimeService, tenantUiService: TenantUiService, modalService: ModalService, translateService: TranslateService, optionsService: OptionsService, activatedRoute: ActivatedRoute, generalRegistration: GeneralDeviceRegistrationService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    updateList(data: any): void;
    handleQueryParams(): Promise<void>;
    delete(id: string): Promise<void>;
    accept(request: IDeviceRegistration): void;
    acceptAll(): void;
    canAcceptAll(): boolean;
    loadAll(): void;
    displayMode(listClass: 'interact-list' | 'interact-grid'): void;
    setRequireSecurityToken(): Promise<void>;
    setIsManagementTenant(): Promise<void>;
    shouldShowSecurityTokenInput(data: IDeviceRegistration): boolean;
    showTokenInputBasedOnSecurityMode(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<DeviceRegistrationViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DeviceRegistrationViewComponent, "c8y-device-registration-view", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=device-registration-view.component.d.ts.map