import * as i0 from '@angular/core';
import { AfterViewInit, Renderer2 } from '@angular/core';
import { C8yStepper, ClipboardService, GainsightService } from '@c8y/ngx-components';
import { BsModalRef } from 'ngx-bootstrap/modal';
import { CdkStep } from '@angular/cdk/stepper';

declare class DeviceEnrolmentService {
    private trustedCertificateService;
    private deviceRegistrationService;
    private featureCacheService;
    getRegistrationCode(name: string): Promise<{
        error: "Device ID already exists. Please choose a different name.";
        statusCode: any;
        errorType: string;
        script?: undefined;
        docker?: undefined;
    } | {
        error: "Device ID cannot contain whitespace, slashes or any of (+$:). Please choose a different name.";
        statusCode: any;
        errorType: string;
        script?: undefined;
        docker?: undefined;
    } | {
        script: string;
        docker: string;
        error?: undefined;
        statusCode?: undefined;
        errorType?: undefined;
    } | {
        error: "Certificate authority not available.";
        statusCode?: undefined;
        errorType?: undefined;
        script?: undefined;
        docker?: undefined;
    }>;
    generateSecurePassword(length?: number): string;
    showQuicklink(): Promise<boolean>;
    caAvailableAndConfigured(): Promise<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DeviceEnrolmentService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DeviceEnrolmentService>;
}

declare class DeviceEnrolmentModalComponent implements AfterViewInit {
    private bsModalRef;
    private renderer;
    private deviceEnrolmentService;
    private clipboardService;
    private gainsightService;
    stepper: C8yStepper;
    success: boolean | undefined;
    deviceId: string;
    waitOrRetry: string;
    readonly connectSmartphoneTitle: string;
    readonly enterDeviceName: string;
    readonly generateCodeTitle: string;
    readonly resultTitle: string;
    readonly gainsightStepName: string[];
    private destroyRef;
    private interAppService;
    codeDevice: string;
    codeContainer: string;
    errorMessage: string;
    externalId: string;
    isCodeRequestPending: boolean;
    isCAAvailable: Promise<boolean>;
    hasDeviceIdError: boolean;
    constructor(bsModalRef: BsModalRef, renderer: Renderer2, deviceEnrolmentService: DeviceEnrolmentService, clipboardService: ClipboardService, gainsightService: GainsightService);
    ngAfterViewInit(): void;
    onStepperSelectionChange(stepper: Partial<C8yStepper>): void;
    onComplete(): void;
    generateDeviceId(): string;
    back(): void;
    next($event: {
        stepper: C8yStepper;
        step: CdkStep;
    }): void;
    cancel(): void;
    close(): void;
    retry(): void;
    generateCode(): Promise<void>;
    copyIt(text: string): void;
    manageCertificates(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DeviceEnrolmentModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DeviceEnrolmentModalComponent, "c8y-device-enrolment", never, {}, {}, never, never, true, never>;
}

export { DeviceEnrolmentModalComponent };
//# sourceMappingURL=index.d.ts.map
