import { FormItemWidth } from '@alauda/ui';
import { OnInit, TemplateRef } from '@angular/core';
import { AbstractControl, ValidationErrors } from '@angular/forms';
import { BaseNestedFormControlPure } from '../../core/public-api';
import * as i0 from "@angular/core";
export interface Encoding {
    decode: (v: string) => string;
    encode: (v: string) => string;
}
export declare class PasswordInputComponent extends BaseNestedFormControlPure<string> implements OnInit {
    initPassword: string;
    label: string;
    hint: string | TemplateRef<any>;
    specialChars: string;
    strongPassword: boolean | '';
    enableConfirm: boolean | '';
    width: FormItemWidth;
    toggleable: boolean;
    encoding: Encoding;
    set required(required: boolean | '');
    get required(): boolean;
    showPassword: boolean;
    confirmPassword: string;
    isTemplateRef: (label: any) => label is TemplateRef<unknown>;
    private _required;
    ngOnInit(): void;
    valueIn(v: string): string;
    modelOut(v: string): string;
    validate(): ValidationErrors;
    validateConfirmPassword(password: string): (control: AbstractControl) => ValidationErrors;
    static ɵfac: i0.ɵɵFactoryDeclaration<PasswordInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PasswordInputComponent, "acl-password-input", never, { "initPassword": "initPassword"; "label": "label"; "hint": "hint"; "specialChars": "specialChars"; "strongPassword": "strongPassword"; "enableConfirm": "enableConfirm"; "width": "width"; "toggleable": "toggleable"; "encoding": "encoding"; "required": "required"; }, {}, never, never, false>;
}
