import { AfterContentChecked, AfterContentInit, QueryList, TemplateRef } from "@angular/core";
import { AbstractControl } from "@angular/forms";
import { ValidationMessageComponent } from "../validation-message/validation-message.component";
import { NuiFormFieldControl } from "./public-api";
import * as i0 from "@angular/core";
export declare class FormFieldComponent implements AfterContentInit, AfterContentChecked {
    /**
     * Form control obtained from the parent reactive form
     */
    control: AbstractControl;
    /**
     * Text for a Form Field label
     */
    caption: string;
    /**
     * Text to be passed to a popover for info icon
     */
    info: string;
    /**
     * Template to use in info's popover
     */
    infoTemplate: TemplateRef<any>;
    /**
     * Text for a Form Field hint
     */
    hint: string;
    /**
     * Template for a Form Field hint
     */
    hintTemplate: TemplateRef<unknown>;
    /**
     * Value for width css property for the form field
     */
    customBoxWidth: string;
    /**
     * Ability to hide optional text (optional) near label if needed
     * @type {boolean}
     */
    showOptionalText: boolean;
    validationMessages: QueryList<ValidationMessageComponent>;
    nuiFormControl: NuiFormFieldControl;
    controlIsOptional: boolean;
    ngAfterContentChecked(): void;
    ngAfterContentInit(): void;
    getWidth(): string;
    private hasRequiredField;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "nui-form-field", never, { "control": "control"; "caption": "caption"; "info": "info"; "infoTemplate": "infoTemplate"; "hint": "hint"; "hintTemplate": "hintTemplate"; "customBoxWidth": "customBoxWidth"; "showOptionalText": "showOptionalText"; }, {}, ["nuiFormControl", "validationMessages"], ["*", "nui-validation-message"]>;
}
