import { OnInit } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { RemoteAccessConfiguration, RemoteAccessService } from '@c8y/ngx-components/remote-access/data';
import * as i0 from "@angular/core";
export declare class RemoteAccessSshEndpointModalComponent implements OnInit {
    private formBuilder;
    private remoteAccess;
    credentialTypes: ({
        readonly name: "USER_PASS";
        readonly value: "USER_PASS";
        readonly label: "Username and password";
    } | {
        readonly name: "CERTIFICATE";
        readonly value: "CERTIFICATE";
        readonly label: "Certificate";
    } | {
        readonly name: "KEY_PAIR";
        readonly value: "KEY_PAIR";
        readonly label: "Public/private keys";
    })[];
    title: "Remote access endpoint";
    form: ReturnType<typeof this.initForm>;
    generating: boolean;
    currentValue: Partial<RemoteAccessConfiguration>;
    result: Promise<Partial<{
        id: string;
        name: string;
        hostname: string;
        port: number;
        protocol: string;
        username: string;
        password: string;
        credentialsType: "KEY_PAIR" | "USER_PASS" | "CERTIFICATE";
        hostKey: string;
        publicKey: string;
        privateKey: string;
        certificate: string;
    }>>;
    private _resolve;
    private _reject;
    constructor(formBuilder: FormBuilder, remoteAccess: RemoteAccessService);
    ngOnInit(): void;
    initForm(): import("@angular/forms").FormGroup<{
        id: import("@angular/forms").FormControl<string>;
        name: import("@angular/forms").FormControl<string>;
        hostname: import("@angular/forms").FormControl<string>;
        port: import("@angular/forms").FormControl<number>;
        protocol: import("@angular/forms").FormControl<string>;
        username: import("@angular/forms").FormControl<string>;
        password: import("@angular/forms").FormControl<string>;
        credentialsType: import("@angular/forms").FormControl<"KEY_PAIR" | "USER_PASS" | "CERTIFICATE">;
        hostKey: import("@angular/forms").FormControl<string>;
        publicKey: import("@angular/forms").FormControl<string>;
        privateKey: import("@angular/forms").FormControl<string>;
        certificate: import("@angular/forms").FormControl<string>;
    }>;
    downloadPublicKey(): void;
    generateKeys(): Promise<void>;
    cancel(): void;
    save(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RemoteAccessSshEndpointModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RemoteAccessSshEndpointModalComponent, "c8y-remote-access-ssh-endpoint-modal", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=remote-access-ssh-endpoint-modal.component.d.ts.map