import { FocusMonitor } from '@angular/cdk/a11y';
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, OnDestroy, TemplateRef } from '@angular/core';
import { KbqIconButton } from '@koobiq/components/icon';
import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
import * as i0 from "@angular/core";
/** Component which changes password visibility. */
export declare class KbqPasswordToggle extends KbqTooltipTrigger implements AfterViewInit, OnDestroy, AfterContentInit {
    protected readonly nativeElement: HTMLElement;
    protected readonly focusMonitor: FocusMonitor;
    protected readonly changeDetectorRef: ChangeDetectorRef;
    private readonly formField;
    tabindex: number;
    /**
     * @docs-private
     */
    readonly icon: KbqIconButton;
    get content(): string | TemplateRef<any>;
    set content(content: string | TemplateRef<any>);
    kbqTooltipHidden: string | TemplateRef<any>;
    protected hasError: boolean;
    /** Form field password control. */
    private get control();
    /**
     * @docs-private
     */
    get hidden(): boolean;
    /**
     * @docs-private
     */
    get iconClass(): string;
    /**
     * @docs-private
     */
    get visibility(): 'hidden' | 'visible';
    constructor();
    /**
     * @docs-private
     */
    ngAfterContentInit(): void;
    /**
     * @docs-private
     */
    ngAfterViewInit(): void;
    /**
     * @docs-private
     */
    ngOnDestroy(): void;
    /**
     * @docs-private
     */
    toggle(event: KeyboardEvent): void;
    private updateState;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqPasswordToggle, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqPasswordToggle, "kbq-password-toggle", ["kbqPasswordToggle"], { "tabindex": { "alias": "tabindex"; "required": false; }; "content": { "alias": "kbqTooltipNotHidden"; "required": false; }; "kbqTooltipHidden": { "alias": "kbqTooltipHidden"; "required": false; }; }, {}, never, ["*"], true, never>;
    static ngAcceptInputType_tabindex: unknown;
}
