import * as _c8y_client from '@c8y/client';
import { InventoryService, DeviceRegistrationService, IManagedObject } from '@c8y/client';
import { AppStateService, C8yStepper, GainsightService } from '@c8y/ngx-components';
import * as i0 from '@angular/core';
import { AfterViewInit, OnDestroy, ElementRef, Renderer2 } from '@angular/core';
import { FormControl } from '@angular/forms';
import { Router } from '@angular/router';
import { BsModalRef } from 'ngx-bootstrap/modal';

declare class SensorPhoneService {
    private ui;
    private inventoryService;
    private deviceRegistrationService;
    readonly HTTP_STATUS_CODE: {
        OK: number;
        CREATED: number;
    };
    private domainName;
    private tenantId;
    private PHONE_GROUP_FRAGMENT;
    private readonly PHONE_GROUP_NAME;
    constructor(ui: AppStateService, inventoryService: InventoryService, deviceRegistrationService: DeviceRegistrationService);
    getHost(): string;
    getTenantName(): string;
    getTenantId(): string;
    checkPhoneGroupExists(): Promise<any>;
    addPhoneGroup(): Promise<any>;
    createPhoneGroup(): Promise<_c8y_client.IManagedObject>;
    generateRegistrationData(deviceId: any): string;
    createPhoneRegistrationRequest(deviceId: any): Promise<void>;
    acceptPhoneRegistrationRequest(deviceId: any): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SensorPhoneService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SensorPhoneService>;
}

declare class SensorPhoneModalComponent implements AfterViewInit, OnDestroy {
    private bsModalRef;
    private sensorPhoneService;
    private renderer;
    private deviceRegistrationService;
    private router;
    private inventoryService;
    private gainsightService;
    stepper: C8yStepper;
    container: ElementRef;
    success: any;
    errorMessage: "Failed to register a smartphone.";
    registrationData: any;
    tenantId: any;
    instance: any;
    deviceId: string;
    deviceLink: string;
    resultControl: FormControl;
    waitOrRetry: string;
    retryWithDelayT: number;
    readonly connectSmartphoneTitle: string;
    readonly installAppTitle: string;
    readonly twoOptionsToConnectTitle: string;
    readonly resultTitle: string;
    private destroyNotifier$;
    constructor(bsModalRef: BsModalRef, sensorPhoneService: SensorPhoneService, renderer: Renderer2, deviceRegistrationService: DeviceRegistrationService, router: Router, inventoryService: InventoryService, gainsightService: GainsightService);
    onKeydownHandler(): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onStepperSelectionChange(stepper: Partial<C8yStepper>): Promise<void>;
    registerPhone(): Promise<void>;
    waitForPhoneToConnect(): Promise<_c8y_client.IDeviceRegistration>;
    waitForDeviceAndDashboardMos(): Promise<{
        deviceMo: IManagedObject;
        dashboardMo: IManagedObject;
    }>;
    onDeviceAndDashboardMosCreated(deviceMo: IManagedObject): void;
    generateDeviceId(): string;
    navigateToDevice(): Promise<void>;
    back(): void;
    next($event: any): void;
    cancel(): void;
    retry(): void;
    onFailure(): void;
    deleteDeviceRequest(): Promise<void>;
    private getCurrentStepNumber;
    static ɵfac: i0.ɵɵFactoryDeclaration<SensorPhoneModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SensorPhoneModalComponent, "c8y-sensor-phone", never, {}, {}, never, never, true, never>;
}

declare const PRODUCT_EXPERIENCE_SENSOR_PHONE: {
    readonly EVENTS: {
        readonly CONNECT_SMARTPHONE: "connectSmartphone";
    };
    readonly COMPONENTS: {
        readonly SENSOR_PHONE_MODAL: "sensor-phone-modal";
    };
    readonly ACTIONS: {
        readonly ESCAPE: "escape";
        readonly OPEN_DASHBOARD: "openDashboard";
        readonly RETRY: "retry";
    };
    readonly RESULTS: {
        readonly FAILED: "failed";
        readonly REGISTER_PHONE_STARTED: "registerPhoneStarted";
        readonly SUCCESS: "success";
    };
};

export { PRODUCT_EXPERIENCE_SENSOR_PHONE, SensorPhoneModalComponent, SensorPhoneService };
//# sourceMappingURL=index.d.ts.map
