import { Router } from '@angular/router';
import { DeviceRegistrationService, DeviceRegistrationStatus, IDeviceRegistration, IDeviceRegistrationCreate, IDeviceRegistrationLimit, Paging } from '@c8y/client';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { AlertService, IRealtimeDeviceBootstrap } from '@c8y/ngx-components';
import * as i0 from "@angular/core";
export declare class RegisterDeviceService {
    private router;
    private deviceRegService;
    private alertService;
    readonly _loading: Subject<boolean>;
    readonly _limit: BehaviorSubject<IDeviceRegistrationLimit>;
    readonly _deviceRegistrationRequests: BehaviorSubject<{
        data: IDeviceRegistration[];
        paging?: Paging<IDeviceRegistration>;
    }>;
    readonly deviceRegistrationRequests$: Observable<{
        data: IDeviceRegistration[];
        paging?: Paging<IDeviceRegistration>;
    }>;
    readonly loading$: Observable<boolean>;
    readonly limit$: Observable<IDeviceRegistrationLimit>;
    paging: Paging<IDeviceRegistration>;
    private readonly deviceRegUrl;
    private endSubscriptions;
    constructor(router: Router, deviceRegService: DeviceRegistrationService, alertService: AlertService);
    isDeviceRegistration(): boolean;
    internalListUpdate(deviceRequests: IDeviceRegistration[], pagingObject?: Paging<IDeviceRegistration>): void;
    onDeviceBootstrap(bsData: IRealtimeDeviceBootstrap): void;
    list(pageSize?: number): void;
    createMultiple(newDeviceRequests: IDeviceRegistrationCreate[]): Observable<{
        success: IDeviceRegistration[];
        failed: IDeviceRegistration[];
    }>;
    remove(id: string): void;
    accept(request: IDeviceRegistration): void;
    acceptAll(): void;
    limit(): void;
    getRequestByStatus(status: DeviceRegistrationStatus): IDeviceRegistration[];
    ngOnDestroy(): void;
    private updateStatusById;
    private removeDeviceRegistrationRequestById;
    static ɵfac: i0.ɵɵFactoryDeclaration<RegisterDeviceService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<RegisterDeviceService>;
}
//# sourceMappingURL=register-device.service.d.ts.map