import { AfterContentInit, EventEmitter } from '@angular/core';
import { FormFieldDirective } from '../form-field/form-field.directive';
import { FormItemSize } from './form-item.model';
import * as i0 from "@angular/core";
export declare class FormItemComponent implements AfterContentInit {
    private readonly formItemClassName;
    /**
     * @ignore
     */
    private _hasError;
    /**
     * @ignore
     */
    private _hasSuccess;
    /**
     * @ignore
     */
    private _hasHint;
    /**
     * @ignore
     */
    isPassword: boolean;
    /**
     * @ignore
     */
    isVisible: boolean;
    /**
     * @ignore
     */
    passwordNotice: string;
    /**
     * @ignore
     */
    passwordButtonLabel: string;
    /**
     * @ignore
     */
    isMultiline: boolean;
    /**
     * Input id and label for attribute, needed for focus to work properly
     */
    inputId: string;
    /**
     * Form item size
     */
    size: FormItemSize;
    /**
     * Whether the form-item label is floating
     */
    isFloatingLabel: boolean;
    /**
     * Whether form-item is disabled or not
     */
    isDisabled: boolean;
    /**
     * Whether form-item is required or not
     */
    isRequired: boolean;
    /**
     * Whether form-item is in success state
     */
    set hasSuccess(value: boolean);
    get hasSuccess(): boolean;
    /**
     * Whether form-item is in error state
     */
    set hasError(value: boolean);
    get hasError(): boolean;
    /**
     * Whether the form-item has a hint substring
     */
    set hasHint(value: boolean);
    get hasHint(): boolean;
    /**
     * Whether the form-item has a custom icon
     */
    hasCustomIcon: boolean;
    /**
     * Whether the form-item's icon (or custom icon) is clickable
     */
    isIconClickable: boolean;
    /**
     * Material icon name
     */
    iconName: string;
    /**
     * Additional form-item css classes
     */
    additionalClass: string;
    /**
     * Label for the button to toggle password visibility when password is hidden.
     * @example "Show password"
     */
    passwordButtonLabelShow?: string;
    /**
     * Label for the button to toggle password visibility when password is visible.
     * @example "Hide password"
     */
    passwordButtonLabelHide?: string;
    /**
     * Label to announce when password becomes visible.
     * @example "Password is visible"
     */
    passwordNoticeIsVisible?: string;
    /**
     * Label to announce when password becomes hidden.
     * @example "Password is hidden"
     */
    passwordNoticeIsHidden?: string;
    /**
     * Whether form-item is a select or not
     */
    isSelect: boolean;
    /**
     * Outputs icon click
     */
    iconClick: EventEmitter<MouseEvent>;
    /**
     * Outputs icon keydown
     */
    iconKeydown: EventEmitter<KeyboardEvent>;
    /**
     * Outputs icon click
     */
    wrapperClick: EventEmitter<MouseEvent>;
    /**
     * @ignore
     */
    formField: FormFieldDirective;
    ngAfterContentInit(): void;
    /**
     * @ignore
     */
    iconClickHandler(event: MouseEvent): void;
    /**
     * @ignore
     */
    iconKeydownHandler(event: KeyboardEvent): void;
    /**
     * @ignore
     */
    toggleVisibility(): void;
    /**
     * @ignore
     */
    getSubscriptId(): string;
    /**
     * @ignore
     */
    setAriaAttributes(): void;
    /**
     * @ignore
     */
    isCustomSelect(): boolean;
    /**
     * @ignore
     */
    getFormItemSizeClass(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormItemComponent, "nj-form-item", never, { "inputId": { "alias": "inputId"; "required": false; }; "size": { "alias": "size"; "required": false; }; "isFloatingLabel": { "alias": "isFloatingLabel"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "isRequired": { "alias": "isRequired"; "required": false; }; "hasSuccess": { "alias": "hasSuccess"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; "hasHint": { "alias": "hasHint"; "required": false; }; "hasCustomIcon": { "alias": "hasCustomIcon"; "required": false; }; "isIconClickable": { "alias": "isIconClickable"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "additionalClass": { "alias": "additionalClass"; "required": false; }; "passwordButtonLabelShow": { "alias": "passwordButtonLabelShow"; "required": false; }; "passwordButtonLabelHide": { "alias": "passwordButtonLabelHide"; "required": false; }; "passwordNoticeIsVisible": { "alias": "passwordNoticeIsVisible"; "required": false; }; "passwordNoticeIsHidden": { "alias": "passwordNoticeIsHidden"; "required": false; }; "isSelect": { "alias": "isSelect"; "required": false; }; }, { "iconClick": "iconClick"; "iconKeydown": "iconKeydown"; "wrapperClick": "wrapperClick"; }, ["formField"], ["[njFormField]", "[njFormLabel]", "[njFormCustomIcon]", "[njFormAdditionalContent]", "[njFormSubscript]"], true, never>;
}
