import { BaseTooltip } from '@alauda/ui';
import { Overlay } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, NgZone, Renderer2, ViewContainerRef, OnChanges } from '@angular/core';
import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
import { StrongPasswordTooltipComponent } from './strong-password-tooltip/component';
import * as i0 from "@angular/core";
export declare class StrongPasswordDirective extends BaseTooltip implements Validator, OnChanges {
    private _enabled;
    set aclStrongPassword(enabled: boolean | '');
    get aclStrongPassword(): boolean;
    private _required;
    set required(required: boolean | '');
    get required(): boolean;
    specialChars: string;
    minlength: number;
    maxlength: number;
    notStartsWith: string;
    protected componentClass: typeof StrongPasswordTooltipComponent;
    registerOnValidatorChange(fn: () => void): void;
    ngOnChanges(): void;
    onValidatorChange: () => void;
    constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, elRef: ElementRef<HTMLInputElement>, renderer: Renderer2, cdr: ChangeDetectorRef, ngZone: NgZone);
    protected onFocus(): void;
    validate: (control: AbstractControl) => ValidationErrors;
    private resetContext;
    private readonly validatePattern;
    private readonly validateLength;
    private readonly validateEnglishChar;
    private readonly validateNumber;
    private readonly validateSpecialChar;
    private readonly validateNotStartsWith;
    static ɵfac: i0.ɵɵFactoryDeclaration<StrongPasswordDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<StrongPasswordDirective, "input[aclStrongPassword][ngModel],input[aclStrongPassword][formControl],input[aclStrongPassword][formControlName]", never, { "aclStrongPassword": { "alias": "aclStrongPassword"; "required": false; }; "required": { "alias": "required"; "required": false; }; "specialChars": { "alias": "specialChars"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "notStartsWith": { "alias": "notStartsWith"; "required": false; }; }, {}, never, never, false, never>;
}
