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;
    pattern: string;
    encoding: Encoding;
    placeholder: string;
    readonly: boolean;
    isUpdate: boolean;
    set required(required: boolean | '');
    get required(): boolean;
    showPassword: boolean;
    showInput: 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;
    updatePasswd(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PasswordInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PasswordInputComponent, "acl-password-input", never, { "initPassword": { "alias": "initPassword"; "required": false; }; "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "specialChars": { "alias": "specialChars"; "required": false; }; "strongPassword": { "alias": "strongPassword"; "required": false; }; "enableConfirm": { "alias": "enableConfirm"; "required": false; }; "width": { "alias": "width"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "encoding": { "alias": "encoding"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "isUpdate": { "alias": "isUpdate"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, {}, never, never, true, never>;
}
