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

declare class RemoteAccessBasicEndpointModalComponent implements OnInit {
    private formBuilder;
    title: "Remote access endpoint";
    form: ReturnType<typeof this.initForm>;
    currentValue: Partial<RemoteAccessConfiguration>;
    result: Promise<Partial<{
        id: string;
        name: string;
        hostname: string;
        port: number;
        protocol: string;
        credentialsType: "NONE" | "PASS_ONLY";
        attrs: any;
    }>>;
    private _resolve;
    private _reject;
    constructor(formBuilder: FormBuilder);
    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>;
        credentialsType: _angular_forms.FormControl<"NONE" | "PASS_ONLY">;
        attrs: _angular_forms.FormControl<any>;
    }>;
    cancel(): void;
    save(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RemoteAccessBasicEndpointModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RemoteAccessBasicEndpointModalComponent, "c8y-remote-access-basic-endpoint-modal", never, {}, {}, never, never, true, never>;
}

declare const types: readonly [{
    readonly name: "PRIVATE";
    readonly value: "private";
    readonly placeholder: "-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAK...VQvopm2xw==----- END RSA PRIVATE KEY-----";
}, {
    readonly name: "PUBLIC";
    readonly value: "public";
    readonly placeholder: "ssh-rsa AAAAB3NzaC...1kc3MAAACB== user@example.com";
}, {
    readonly name: "CERTIFICATE";
    readonly value: "certificate";
    readonly placeholder: "ssh-rsa-cert-v01@openssh.com AAAAHHNz...Y9gBU= user@example.com";
}];
declare class SshKeyInputComponent implements OnInit, OnChanges, ControlValueAccessor {
    keyType: (typeof types)[number]['value'];
    readonly: boolean;
    placeholder: string;
    value: string;
    onChange: (value: string) => void;
    onTouch: () => void;
    writeValue(obj: string): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    onKeyFileSelected(event: DroppedFile[]): Promise<void>;
    newValue(value: string): void;
    private reassignPlaceholder;
    static ɵfac: i0.ɵɵFactoryDeclaration<SshKeyInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SshKeyInputComponent, "c8y-ssh-key-input", never, { "keyType": { "alias": "keyType"; "required": false; }; }, {}, never, never, true, never>;
}

export { RemoteAccessBasicEndpointModalComponent, SshKeyInputComponent };
//# sourceMappingURL=index.d.ts.map
