/**-----------------------------------------------------------------------------------------
* Copyright © 2024 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterViewInit, ElementRef, Renderer2, QueryList, AfterViewChecked } from '@angular/core';
import { NgControl } from '@angular/forms';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { ShowOptions } from './models/show-options';
import { ErrorComponent } from './error.component';
import { HintComponent } from './hint.component';
import { Orientation } from './models/orientation';
import * as i0 from "@angular/core";
/**
 * Specifies a container for form-bound controls (Kendo controls or native HTML controls).
 * Applies styling and behavior rules.
 */
export declare class FormFieldComponent implements AfterViewInit, AfterViewChecked {
    private renderer;
    private localizationService;
    private hostElement;
    hostClass: boolean;
    /**
     * @hidden
     */
    direction: string;
    get errorClass(): boolean;
    get disabledClass(): boolean;
    set formControls(formControls: QueryList<NgControl>);
    controlElementRefs: QueryList<ElementRef>;
    kendoInput: any;
    errorChildren: QueryList<ErrorComponent>;
    hintChildren: QueryList<HintComponent>;
    /**
     *
     * Specifies when the Hint messages will be shown.
     *
     * The possible values are:
     *
     * * (Default) `initial`&mdash;Allows displaying hints when the form-bound component state is
     * `valid` or `untouched` and `pristine`.
     * * `always`&mdash;Allows full control over the visibility of the hints.
     *
     */
    showHints: ShowOptions;
    /**
     * Specifies the layout orientation of the form field.
     *
     * * The possible values are:
     *
     * * (Default) `vertical`
     * * `horizontal`
     */
    orientation: Orientation;
    /**
     * Specifies when the Error messages will be shown.
     *
     * The possible values are:
     *
     * * (Default) `initial`&mdash;Allows displaying errors when the form-bound component state is
     * `invalid` and `touched` or `dirty`.
     * * `always`&mdash;Allows full control over the visibility of the errors.
     *
     */
    showErrors: ShowOptions;
    /**
     * @hidden
     */
    get horizontal(): boolean;
    /**
     * @hidden
     */
    get hasHints(): boolean;
    /**
     * @hidden
     */
    get hasErrors(): boolean;
    private control;
    private subscriptions;
    private rtl;
    constructor(renderer: Renderer2, localizationService: LocalizationService, hostElement: ElementRef<HTMLElement>);
    ngAfterViewInit(): void;
    ngAfterViewChecked(): void;
    ngOnDestroy(): void;
    private disabledKendoInput;
    private disabledControl;
    private disabledElement;
    private validateFormControl;
    private isControlGroup;
    private isRadioControl;
    private updateDescription;
    private findControlElements;
    private generateDescriptionIds;
    private showHintsInitial;
    private showErrorsInitial;
    private setDescription;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "kendo-formfield", never, { "showHints": "showHints"; "orientation": "orientation"; "showErrors": "showErrors"; }, {}, ["kendoInput", "formControls", "controlElementRefs", "errorChildren", "hintChildren"], ["label, kendo-label", "*", "kendo-formhint", "kendo-formerror"], true, never>;
}
