import { ApplicationRef, ComponentFactoryResolver, ElementRef, Injector, OnInit } from '@angular/core';
import { PasswordStrengthPositions } from './types/password-positions';
import { PasswordStrengths } from './types/password-strengths';
import * as i0 from "@angular/core";
export declare class PasswordStrengthDirective implements OnInit {
    private readonly elementRef;
    private readonly appRef;
    private readonly componentFactoryResolver;
    private readonly injector;
    enabled: boolean;
    passwordStrengthValidation?: (content: string) => PasswordStrengths;
    passwordStrengthPosition: PasswordStrengthPositions;
    passwordStrengthWeakTitle?: string;
    passwordStrengthMediumTitle?: string;
    passwordStrengthStrongTitle?: string;
    passwordStrengthDescription: string;
    private componentRef?;
    constructor(elementRef: ElementRef, appRef: ApplicationRef, componentFactoryResolver: ComponentFactoryResolver, injector: Injector);
    ngOnInit(): void;
    onFocus(): void;
    onBlur(): void;
    private createPasswordStrength;
    private showPasswordStrength;
    private setPasswordStrengthComponentProperties;
    private validateProperties;
    private destroyPasswordStrength;
    private defaultValidator;
    static ɵfac: i0.ɵɵFactoryDeclaration<PasswordStrengthDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PasswordStrengthDirective, "[sPasswordStrength]", never, { "enabled": { "alias": "sPasswordStrength"; "required": false; }; "passwordStrengthValidation": { "alias": "passwordStrengthValidation"; "required": false; }; "passwordStrengthPosition": { "alias": "passwordStrengthPosition"; "required": false; }; "passwordStrengthWeakTitle": { "alias": "passwordStrengthWeakTitle"; "required": false; }; "passwordStrengthMediumTitle": { "alias": "passwordStrengthMediumTitle"; "required": false; }; "passwordStrengthStrongTitle": { "alias": "passwordStrengthStrongTitle"; "required": false; }; "passwordStrengthDescription": { "alias": "passwordStrengthDescription"; "required": true; }; }, {}, never, never, false, never>;
}
