import * as _angular_forms from '@angular/forms';
import { FormBuilder } from '@angular/forms';
import * as i0 from '@angular/core';
import { OnInit } from '@angular/core';
import { RemoteAccessConfiguration, RemoteAccessService } from '@c8y/ngx-components/remote-access/data';

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(): _angular_forms.FormGroup<{
        id: _angular_forms.FormControl<string>;
        name: _angular_forms.FormControl<string>;
        hostname: _angular_forms.FormControl<string>;
        port: _angular_forms.FormControl<number>;
        protocol: _angular_forms.FormControl<string>;
        username: _angular_forms.FormControl<string>;
        password: _angular_forms.FormControl<string>;
        credentialsType: _angular_forms.FormControl<"KEY_PAIR" | "USER_PASS" | "CERTIFICATE">;
        hostKey: _angular_forms.FormControl<string>;
        publicKey: _angular_forms.FormControl<string>;
        privateKey: _angular_forms.FormControl<string>;
        certificate: _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>;
}

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