import { AfterContentInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, PipeTransform, QueryList, Renderer2, TemplateRef } from '@angular/core';
import { OverlayService, PrimeNGConfig } from 'primeng/api';
import { ConnectedOverlayScrollHandler } from 'primeng/dom';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "primeng/inputtext";
import * as i3 from "primeng/icons/times";
import * as i4 from "primeng/icons/eyeslash";
import * as i5 from "primeng/icons/eye";
import * as i6 from "primeng/api";
export declare class PasswordDirective implements OnDestroy, DoCheck {
    private document;
    private platformId;
    private renderer;
    el: ElementRef;
    zone: NgZone;
    promptLabel: string;
    weakLabel: string;
    mediumLabel: string;
    strongLabel: string;
    feedback: boolean;
    set showPassword(show: boolean);
    panel: HTMLDivElement;
    meter: any;
    info: any;
    filled: boolean;
    scrollHandler: ConnectedOverlayScrollHandler;
    documentResizeListener: () => void | null;
    constructor(document: Document, platformId: any, renderer: Renderer2, el: ElementRef, zone: NgZone);
    ngDoCheck(): void;
    onInput(e: any): void;
    updateFilledState(): void;
    createPanel(): void;
    showOverlay(): void;
    hideOverlay(): void;
    onFocus(): void;
    onBlur(): void;
    onKeyup(e: any): void;
    testStrength(str: string): number;
    normalize(x: any, y: any): number;
    get disabled(): boolean;
    bindScrollListener(): void;
    unbindScrollListener(): void;
    bindDocumentResizeListener(): void;
    unbindDocumentResizeListener(): void;
    onWindowResize(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PasswordDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PasswordDirective, "[pPassword]", never, { "promptLabel": "promptLabel"; "weakLabel": "weakLabel"; "mediumLabel": "mediumLabel"; "strongLabel": "strongLabel"; "feedback": "feedback"; "showPassword": "showPassword"; }, {}, never, never, false, never>;
}
declare type Mapper<T, G> = (item: T, ...args: any[]) => G;
export declare class MapperPipe implements PipeTransform {
    transform<T, G>(value: T, mapper: Mapper<T, G>, ...args: unknown[]): G;
    static ɵfac: i0.ɵɵFactoryDeclaration<MapperPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<MapperPipe, "mapper", false>;
}
export declare const Password_VALUE_ACCESSOR: any;
export declare class Password implements AfterContentInit, OnInit {
    private document;
    private platformId;
    private renderer;
    private cd;
    private config;
    el: ElementRef;
    overlayService: OverlayService;
    ariaLabel: string;
    ariaLabelledBy: string;
    label: string;
    disabled: boolean;
    promptLabel: string;
    mediumRegex: string;
    strongRegex: string;
    weakLabel: string;
    mediumLabel: string;
    maxLength: number;
    strongLabel: string;
    inputId: string;
    feedback: boolean;
    appendTo: any;
    toggleMask: boolean;
    inputStyleClass: string;
    panelStyle: any;
    panelStyleClass: string;
    styleClass: string;
    style: any;
    inputStyle: any;
    showTransitionOptions: string;
    hideTransitionOptions: string;
    placeholder: string;
    showClear: boolean;
    input: ElementRef;
    onFocus: EventEmitter<any>;
    onBlur: EventEmitter<any>;
    onClear: EventEmitter<any>;
    contentTemplate: TemplateRef<any>;
    footerTemplate: TemplateRef<any>;
    headerTemplate: TemplateRef<any>;
    clearIconTemplate: TemplateRef<any>;
    hideIconTemplate: TemplateRef<any>;
    showIconTemplate: TemplateRef<any>;
    templates: QueryList<any>;
    overlayVisible: boolean;
    meter: any;
    infoText: string;
    focused: boolean;
    unmasked: boolean;
    mediumCheckRegExp: any;
    strongCheckRegExp: any;
    resizeListener: VoidFunction | null;
    scrollHandler: ConnectedOverlayScrollHandler | null;
    overlay: any;
    value: string;
    onModelChange: Function;
    onModelTouched: Function;
    translationSubscription: Subscription;
    constructor(document: Document, platformId: any, renderer: Renderer2, cd: ChangeDetectorRef, config: PrimeNGConfig, el: ElementRef, overlayService: OverlayService);
    ngAfterContentInit(): void;
    ngOnInit(): void;
    onAnimationStart(event: any): void;
    onAnimationEnd(event: any): void;
    appendContainer(): void;
    alignOverlay(): void;
    onInput(event: any): void;
    onInputFocus(event: Event): void;
    onInputBlur(event: Event): void;
    onKeyDown(event: KeyboardEvent): void;
    onKeyUp(event: any): void;
    updateUI(value: any): void;
    onMaskToggle(): void;
    onOverlayClick(event: any): void;
    testStrength(str: any): number;
    writeValue(value: any): void;
    registerOnChange(fn: Function): void;
    registerOnTouched(fn: Function): void;
    setDisabledState(val: boolean): void;
    bindScrollListener(): void;
    bindResizeListener(): void;
    unbindScrollListener(): void;
    unbindResizeListener(): void;
    containerClass(toggleMask: boolean): {
        'p-password p-component p-inputwrapper': boolean;
        'p-input-icon-right': boolean;
    };
    inputFieldClass(disabled: boolean): {
        'p-password-input': boolean;
        'p-disabled': boolean;
    };
    strengthClass(meter: any): string;
    filled(): boolean;
    promptText(): any;
    weakText(): any;
    mediumText(): any;
    strongText(): any;
    restoreAppend(): void;
    inputType(unmasked: boolean): "text" | "password";
    getTranslation(option: string): any;
    clear(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Password, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Password, "p-password", never, { "ariaLabel": "ariaLabel"; "ariaLabelledBy": "ariaLabelledBy"; "label": "label"; "disabled": "disabled"; "promptLabel": "promptLabel"; "mediumRegex": "mediumRegex"; "strongRegex": "strongRegex"; "weakLabel": "weakLabel"; "mediumLabel": "mediumLabel"; "maxLength": "maxLength"; "strongLabel": "strongLabel"; "inputId": "inputId"; "feedback": "feedback"; "appendTo": "appendTo"; "toggleMask": "toggleMask"; "inputStyleClass": "inputStyleClass"; "panelStyle": "panelStyle"; "panelStyleClass": "panelStyleClass"; "styleClass": "styleClass"; "style": "style"; "inputStyle": "inputStyle"; "showTransitionOptions": "showTransitionOptions"; "hideTransitionOptions": "hideTransitionOptions"; "placeholder": "placeholder"; "showClear": "showClear"; }, { "onFocus": "onFocus"; "onBlur": "onBlur"; "onClear": "onClear"; }, ["templates"], never, false, never>;
}
export declare class PasswordModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<PasswordModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<PasswordModule, [typeof PasswordDirective, typeof Password, typeof MapperPipe], [typeof i1.CommonModule, typeof i2.InputTextModule, typeof i3.TimesIcon, typeof i4.EyeSlashIcon, typeof i5.EyeIcon], [typeof PasswordDirective, typeof Password, typeof i6.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<PasswordModule>;
}
export {};
