import { AfterViewInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
import { TenantUiService, C8yStepper, GainsightService } from '@c8y/ngx-components';
import { FormGroup } from '@angular/forms';
import { Observable, BehaviorSubject } from 'rxjs';
import { DeviceRegistrationBulkService, FeatureService, InventoryService, TenantService } from '@c8y/client';
import { RegisterDeviceService } from '../register-device.service';
import { CdkStep } from '@angular/cdk/stepper';
import { BsModalRef } from 'ngx-bootstrap/modal';
import * as i0 from "@angular/core";
interface GeneralDeviceRegistrationModelType {
    id: string;
    tenant?: {
        id: string;
    };
    group?: {
        id: string;
        name?: string;
    };
    oneTimePassword?: string;
}
export declare class GeneralDeviceRegistrationComponent implements AfterViewInit, OnDestroy {
    private tenantUIService;
    private tenantService;
    private registerDeviceService;
    private inventoryService;
    private cd;
    bsModalRef: BsModalRef;
    private gainsightService;
    private deviceRegistrationService;
    private featureService;
    readonly MANAGEMENT = "management";
    readonly FILTER: object;
    useEST$: BehaviorSubject<boolean>;
    certificateAuthorityFeatureEnabled: Promise<boolean>;
    form: FormGroup<{}>;
    model: {
        devicesToCreate: GeneralDeviceRegistrationModelType[];
    };
    options: FormlyFormOptions;
    PRODUCT_EXPERIENCE: {
        EVENT: string;
        COMPONENT: string;
        RESULT: {
            SUCCESS: string;
            FAILURE: string;
        };
    };
    isLoading$: Observable<boolean>;
    success: {
        id: string;
    }[];
    failed: {
        id: string;
        message?: string;
        details?: any;
    }[];
    fields: FormlyFieldConfig[];
    private destroy$;
    private lastCreatedDevices;
    constructor(tenantUIService: TenantUiService, tenantService: TenantService, registerDeviceService: RegisterDeviceService, inventoryService: InventoryService, cd: ChangeDetectorRef, bsModalRef: BsModalRef, gainsightService: GainsightService, deviceRegistrationService: DeviceRegistrationBulkService, featureService: FeatureService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    registerDevice(eventObject: {
        stepper: C8yStepper;
        step: CdkStep;
    }): void;
    fixErrors(event: {
        stepper: C8yStepper;
        step: CdkStep;
    }, failedRequests: any): void;
    private create;
    private registerByEst;
    private convertObjectToCSVFile;
    private canLoadTenants$;
    private getTenants$;
    private getGroups$;
    static ɵfac: i0.ɵɵFactoryDeclaration<GeneralDeviceRegistrationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GeneralDeviceRegistrationComponent, "c8y-general-device-registration", never, {}, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=general-device-registration.component.d.ts.map