import { PasswordTextBox } from './../index';
import { Animation, EnterKeyBehavior, PasswordTextBoxTooltipPosition } from './../index';
import { AfterViewInit, ElementRef, OnInit, OnChanges, OnDestroy, SimpleChanges, EventEmitter } from '@angular/core';
import { BaseElement } from './smart.element';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
export { Animation, EnterKeyBehavior, PasswordTextBoxTooltipPosition, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { PasswordTextBox } from './../index';
export declare class PasswordTextBoxComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges, ControlValueAccessor {
    constructor(ref: ElementRef<PasswordTextBox>);
    private eventHandlers;
    nativeElement: PasswordTextBox;
    /** @description Creates the component on demand.
     * @param properties An optional object of properties, which will be added to the template binded ones.
     */
    createComponent(properties?: {}): any;
    /**
    * @description
    * The registered callback function called when a change event occurs on the form elements.
    */
    _onChange: (value: any) => void;
    /**
    * @description
    * The registered callback function called when a blur event occurs on the form elements.
    */
    _onTouched: () => any;
    /** @description Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */
    get animation(): Animation | string;
    set animation(value: Animation | string);
    /** @description Specifies that the element should be focused when the page is loaded. */
    get autoFocus(): boolean;
    set autoFocus(value: boolean);
    /** @description Enables or disables the element. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Specifies the behavior on "Enter" key press. Default mode is "submit". */
    get enterKeyBehavior(): EnterKeyBehavior | string;
    set enterKeyBehavior(value: EnterKeyBehavior | string);
    /** @description The form that the element is associated with (its "form owner"). The value of the attribute must be the ID of a form element in the same document. */
    get form(): string;
    set form(value: string);
    /** @description Sets additional helper text below the element. Appears only when the element is focused. */
    get hint(): any;
    set hint(value: any);
    /** @description Sets label above the element. The label is displayed above the input and it's always visible. */
    get label(): string;
    set label(value: string);
    /** @description Sets or gets the unlockKey which unlocks the product. */
    get unlockKey(): string;
    set unlockKey(value: string);
    /** @description Sets or gets the language. Used in conjunction with the property messages.  */
    get locale(): string;
    set locale(value: string);
    /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Sets or gets the maximum number of characters that the user can enter. */
    get maxLength(): number;
    set maxLength(value: number);
    /** @description Sets an object with string values, related to the different states of passwords strength. */
    get messages(): any;
    set messages(value: any);
    /** @description Sets or gets the minimum number of characters that the user can enter. */
    get minLength(): number;
    set minLength(value: number);
    /** @description Sets or gets the name attribute for the element. Name is used when submiting HTML forms. */
    get name(): string;
    set name(value: string);
    /** @description With this property the user can set a custom callback function that determines the password strength. The returned string from the function determines the how strong the current password is. The string should be one of the following: 'short', 'weak', 'far', 'good', 'strong'. */
    get passwordStrength(): any;
    set passwordStrength(value: any);
    /** @description The placeholder text that is displayed when no value is applied to the element.  */
    get placeholder(): string;
    set placeholder(value: string);
    /** @description Specifies that the user must fill in a value before submitting a form that contains the element. */
    get required(): boolean;
    set required(value: boolean);
    /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
    get rightToLeft(): boolean;
    set rightToLeft(value: boolean);
    /** @description Specifies whether the content of the input will be selected on focus. */
    get selectAllOnFocus(): boolean;
    set selectAllOnFocus(value: boolean);
    /** @description Determines whether the password icon is visible. */
    get showPasswordIcon(): boolean;
    set showPasswordIcon(value: boolean);
    /** @description Determines whether a tooltip which shows the password's strength will be shown. */
    get showPasswordStrength(): boolean;
    set showPasswordStrength(value: boolean);
    /** @description Determines the theme. Theme defines the look of the element */
    get theme(): string;
    set theme(value: string);
    /** @description Determines whether Tooltip's arrow will be shown or not. */
    get tooltipArrow(): boolean;
    set tooltipArrow(value: boolean);
    /** @description Determines the delay before the tooltip appears in miliseconds. */
    get tooltipDelay(): number;
    set tooltipDelay(value: number);
    /** @description Determines the position of the tooltip. */
    get tooltipPosition(): PasswordTextBoxTooltipPosition | string;
    set tooltipPosition(value: PasswordTextBoxTooltipPosition | string);
    /** @description Sets a custom template for the content of the tooltip. */
    get tooltipTemplate(): string;
    set tooltipTemplate(value: string);
    /** @description If true, the element cannot be focused. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description Sets or gets the value of the element.  */
    get value(): string;
    set value(value: string);
    /** @description This event is triggered when the value of the element is changed.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	oldValue, 	value)
    *   oldValue - The previous value of the element before it was changed.
    *   value - The new value of the element.
    */
    onChange: EventEmitter<CustomEvent>;
    /** @description This event is triggered on each key up event of the TextBox, if the value is changed.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	oldValue, 	value)
    *   oldValue - The previous value before it was changed.
    *   value - The new value.
    */
    onChanging: EventEmitter<CustomEvent>;
    /** @description Focuses the element.
    */
    focus(): void;
    /** @description The method is used to reset input to it's initial value.
    */
    reset(): void;
    get isRendered(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    _initialChange: boolean;
    get ngValue(): any;
    set ngValue(value: any);
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    ngOnChanges(changes: SimpleChanges): void;
    /** @description Add event listeners. */
    private listen;
    /** @description Remove event listeners. */
    private unlisten;
    static ɵfac: i0.ɵɵFactoryDeclaration<PasswordTextBoxComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PasswordTextBoxComponent, "smart-password-text-box, [smart-password-text-box]", ["smart-password-text-box"], { "animation": "animation"; "autoFocus": "autoFocus"; "disabled": "disabled"; "enterKeyBehavior": "enterKeyBehavior"; "form": "form"; "hint": "hint"; "label": "label"; "unlockKey": "unlockKey"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "maxLength": "maxLength"; "messages": "messages"; "minLength": "minLength"; "name": "name"; "passwordStrength": "passwordStrength"; "placeholder": "placeholder"; "required": "required"; "rightToLeft": "rightToLeft"; "selectAllOnFocus": "selectAllOnFocus"; "showPasswordIcon": "showPasswordIcon"; "showPasswordStrength": "showPasswordStrength"; "theme": "theme"; "tooltipArrow": "tooltipArrow"; "tooltipDelay": "tooltipDelay"; "tooltipPosition": "tooltipPosition"; "tooltipTemplate": "tooltipTemplate"; "unfocusable": "unfocusable"; "value": "value"; }, { "onChange": "onChange"; "onChanging": "onChanging"; }, never>;
}
