import { EventEmitter } from '@angular/core';
import { NgForm } from '@angular/forms';
import { AuthorizationCredentials } from '@microsoft/windows-admin-center-sdk/core/security/authorization-manager';
import { AppContextService } from '../../service/app-context.service';
import { CheckValidationEventArgs } from '../form/form-field/form-field-validator.directive';
import * as i0 from "@angular/core";
export declare class NodeCredentialsFormComponent {
    private appContextService;
    strings: {
        deploymentGuideMessage: string;
        refreshMessage: string;
        ApplyToAll: {
            label: string;
            warning: string;
        };
        ConstrainedDelegation: {
            title: string;
        };
        Kerberos: {
            link: {
                text: string;
                href: string;
            };
        };
        lapsLocalAdminName: {
            label: string;
            placeholder: string;
        };
        Password: {
            label: string;
            placeholder: string;
        };
        trustedHosts: {
            configureMessage: string;
            title: string;
        };
        UseGlobalAuth: {
            labelFormat: string;
            myWindowsAccount: string;
            myLinuxAccount: string;
            warning: string;
        };
        UseLaps: {
            label: string;
        };
        UsePerNodeAuth: {
            label: string;
        };
        Username: {
            label: string;
            placeholder: string;
        };
    };
    hasPerNodeCredentials: boolean;
    globalUsername: string;
    myAccount: string;
    /**
     * Gets or sets the Username
     */
    set username(value: string);
    get username(): string;
    /**
     * Gets or sets the password
     */
    set password(value: string);
    get password(): string;
    /**
     * Gets or sets a value indicating if these settings should be applied to all nodes
     */
    set applyToAll(value: boolean);
    get applyToAll(): boolean;
    /**
     * Gets or sets a value indicating if LAPS should be used
     */
    set useLaps(value: boolean);
    get useLaps(): boolean;
    /**
     * Gets or sets the laps Local Admin Name
     */
    set lapsLocalAdminName(value: string);
    get lapsLocalAdminName(): string;
    /**
     * Gets or sets a value indicating if global auth should be used
     */
    set useGlobalAuth(value: boolean);
    get useGlobalAuth(): boolean;
    /**
     * Model to hold internal form field values;
     */
    private model;
    credentialsChanged: EventEmitter<AuthorizationCredentials>;
    authorizationMethodChanged: EventEmitter<Boolean>;
    showApplyToAll: boolean;
    isServiceMode: boolean;
    formId: string;
    noChoice: boolean;
    manageAsForm: NgForm;
    /**
     * Initializes a new instance of the NodeCredentialsForm class.
     */
    constructor(appContextService: AppContextService);
    reset(nodeName: string): void;
    updateAuthorizationCredentials(): void;
    /**
     * Validate the auth type field
     * @param event the validation event
     */
    validateAuthType(event: CheckValidationEventArgs): void;
    /**
     * Validate the apply to all field
     * @param event the validation event
     */
    validateApplyToAll(event: CheckValidationEventArgs): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NodeCredentialsFormComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NodeCredentialsFormComponent, "sme-node-credentials-form", never, { "showApplyToAll": "showApplyToAll"; "isServiceMode": "isServiceMode"; "formId": "formId"; "noChoice": "noChoice"; }, { "credentialsChanged": "credentialsChanged"; "authorizationMethodChanged": "authorizationMethodChanged"; }, never, never, false, never>;
}
