import { SymbolRegistry } from '@agorapulse/ui-symbol';
import * as i0 from '@angular/core';
import { OnInit, OnDestroy, ElementRef } from '@angular/core';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { Subscription } from 'rxjs';

declare const PASSWORD_CONTROL_VALUE_ACCESSOR: any;
declare class PasswordInputComponent implements OnInit, OnDestroy, ControlValueAccessor {
    symbolRegistry: SymbolRegistry;
    static type: string[];
    inputType: (typeof PasswordInputComponent.type)[number];
    name: string;
    placeholder: string;
    fullWidth: boolean;
    disabled: boolean;
    passwordInput: ElementRef;
    controler: FormControl;
    changes: Subscription;
    constructor(symbolRegistry: SymbolRegistry);
    /**
     * Change between visible and hidden password
     */
    toggleInputType(): void;
    onChange: (password: string) => void;
    onTouch: () => void;
    writeValue(obj: string): void;
    registerOnChange(fn: (password: string) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PasswordInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PasswordInputComponent, "ap-password-input", never, { "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; }, {}, never, never, true, never>;
}

export { PASSWORD_CONTROL_VALUE_ACCESSOR, PasswordInputComponent };
