import * as i0 from '@angular/core';
import { BaseComponent } from 'primeng/basecomponent';
import { InputPasswordPassThrough } from 'primeng/types/inputpassword';
import { BaseStyle } from 'primeng/base';
import * as i1 from 'primeng/inputtext';

/**
 *
 * InputPassword is an extension to standard input element with mask toggling.
 *
 * [Live Demo](https://www.primeng.org/inputpassword/)
 *
 * @module inputpasswordstyle
 *
 */
declare enum InputPasswordClasses {
    /**
     * The class of root element
     */
    root = "p-password"
}
declare class InputPasswordStyle extends BaseStyle {
    name: string;
    style: string;
    classes: {
        root: string;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<InputPasswordStyle, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<InputPasswordStyle>;
}
interface InputPasswordStyle extends BaseStyle {
}

/**
 * InputPassword directive is an extension to standard input element with mask toggling.
 * @group Components
 */
declare class InputPassword extends BaseComponent<InputPasswordPassThrough> {
    componentName: string;
    /**
     * Whether the password is masked.
     * @defaultValue true
     * @group Props
     */
    mask: i0.ModelSignal<boolean>;
    _componentStyle: InputPasswordStyle;
    /**
     * Toggles the mask state between password and text.
     * @group Methods
     */
    toggleMask(): void;
    get inputType(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputPassword, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<InputPassword, "[pInputPassword]", never, { "mask": { "alias": "mask"; "required": false; "isSignal": true; }; }, { "mask": "maskChange"; }, never, never, true, [{ directive: typeof i1.InputText; inputs: { "invalid": "invalid"; "variant": "variant"; "fluid": "fluid"; "pSize": "pSize"; "pInputTextPT": "pInputTextPT"; "pInputTextUnstyled": "pInputTextUnstyled"; "hostName": "hostName"; }; outputs: {}; }]>;
}
declare class InputPasswordModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<InputPasswordModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<InputPasswordModule, never, [typeof InputPassword], [typeof InputPassword]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<InputPasswordModule>;
}

export { InputPassword, InputPasswordClasses, InputPasswordModule, InputPasswordStyle };
