/**
 *
 * carbon-angular v0.0.0 | password-input-label.component.d.ts
 *
 * Copyright 2014, 2025 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


import { AfterViewInit, ElementRef, TemplateRef, ChangeDetectorRef } from "@angular/core";
import { PasswordInput } from "./password.directive";
import { BaseIconButton } from "carbon-components-angular/button";
import * as i0 from "@angular/core";
/**
 * Get started with importing the module:
 *
 * ```typescript
 * import { InputModule } from 'carbon-components-angular';
 * ```
 *
 * ```html
 * <cds-password-label>
 * 	Label
 *	<input cdsPassword>
 * </cds-password-label>
 * ```
 *
 * [See demo](../../?path=/story/components-input--basic)
 */
export declare class PasswordInputLabelComponent extends BaseIconButton implements AfterViewInit {
    protected changeDetectorRef: ChangeDetectorRef;
    /**
     * Counter for generating unique labelInputID.
     */
    static labelCounter: number;
    textInput: PasswordInput;
    /**
     * ID for the input item associated with the label.
     */
    labelInputID: string;
    /**
     * Type for input field, either password or text.
     */
    inputType: "password" | "text";
    /**
    * Flag for checking if password is visible.
    */
    passwordIsVisible: boolean;
    /**
     * Flag for disabled label.
     */
    disabled: boolean;
    /**
     * Flag for loading (skeleton) label.
     */
    skeleton: boolean;
    /**
     * Template for label content.
     */
    labelTemplate: TemplateRef<any>;
    /**
     * Template for password input.
     */
    passwordInputTemplate: TemplateRef<any>;
    /**
     * Optional helper text under the label.
     */
    helperText: string | TemplateRef<any>;
    /**
     * Sets the invalid text.
     */
    invalidText: string | TemplateRef<any>;
    /**
     * Flag for an invalid label component.
     */
    invalid: boolean;
    /**
     * Flag for showing a warning.
     */
    warn: boolean;
    /**
     * Warning text.
     */
    warnText: string | TemplateRef<any>;
    /**
     * Aria label for label.
     */
    ariaLabel: string;
    /**
     * Tooltip text for hiding password.
     */
    hidePasswordLabel: string;
    /**
     * Tooltip text for showing password.
     */
    showPasswordLabel: string;
    /**
     * Experimental: enable fluid state
     */
    fluid: boolean;
    /**
     * Reference to the wrapper element.
     */
    wrapper: ElementRef<HTMLDivElement>;
    /**
     * Binding for applying class to host element.
     */
    labelClass: boolean;
    passwordInputWrapper: boolean;
    textInputWrapper: boolean;
    get isReadonly(): boolean;
    get fluidClass(): boolean;
    get fluidSkeletonClass(): boolean;
    /**
     * Constructor for PasswordInputLabelComponent.
     * @param changeDetectorRef - Reference to ChangeDetectorRef.
     */
    constructor(changeDetectorRef: ChangeDetectorRef);
    /**
     * Lifecycle hook called after the view has been initialized to set the ID of the input element
     */
    ngAfterViewInit(): void;
    /**
     * Function to check if a value is a TemplateRef.
     * @param value - Value to check.
     * @returns Whether the value is a TemplateRef.
     */
    isTemplate(value: any): boolean;
    /**
     * Handler for toggling password visibility.
     */
    handleTogglePasswordVisibility(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PasswordInputLabelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PasswordInputLabelComponent, "cds-password-label, ibm-password-label", never, { "labelInputID": "labelInputID"; "disabled": "disabled"; "skeleton": "skeleton"; "labelTemplate": "labelTemplate"; "passwordInputTemplate": "passwordInputTemplate"; "helperText": "helperText"; "invalidText": "invalidText"; "invalid": "invalid"; "warn": "warn"; "warnText": "warnText"; "ariaLabel": "ariaLabel"; "hidePasswordLabel": "hidePasswordLabel"; "showPasswordLabel": "showPasswordLabel"; "fluid": "fluid"; }, {}, ["textInput"], ["*", "[cdsPassword], [ibmPassword]"], false>;
}
