import { Observable } from 'rxjs';
import { AfterViewInit, ChangeDetectorRef, NgZone, OnDestroy } from '@angular/core';
import { FormGroupDirective, NgControl, NgForm, ValidationErrors } from '@angular/forms';
import { NtFormFieldControl } from './form-field-control';
import { NtFormLabelWidthDirective } from './form-label-width.directive';
import { NtFormOrientation, NtFormOrientationDirective } from './form-orientation.directive';
export declare class NtFormFieldComponent implements AfterViewInit, OnDestroy {
    private _ngZone;
    private _changeDetectorRef;
    private _formLabelWidth;
    private _formOrientation;
    private readonly _destroy;
    private _markVisible;
    private _isUnsetedWidthValue;
    private _ngForm;
    _labelStyles: any;
    _groupStyles: any;
    _invalid: boolean;
    label: string;
    private _labelVisible;
    get labelVisible(): boolean;
    set labelVisible(value: boolean);
    private _labelWidth;
    get labelWidth(): number;
    set labelWidth(value: number);
    messages: {
        [key: string]: string;
    };
    private _orientation;
    get orientation(): NtFormOrientation;
    set orientation(value: NtFormOrientation);
    get markVisible(): boolean;
    set markVisible(value: boolean);
    get required(): boolean | null;
    get errors(): ValidationErrors | null;
    control: NtFormFieldControl<any>;
    get ngControl(): NgControl | null;
    readonly statusChanges: Observable<any>;
    constructor(_ngZone: NgZone, _changeDetectorRef: ChangeDetectorRef, parentForm: NgForm, parentFormGroup: FormGroupDirective, _formLabelWidth: NtFormLabelWidthDirective, _formOrientation: NtFormOrientationDirective);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    _clearValidateMessage(): void;
    isHorizontal(): boolean;
    isVertical(): boolean;
    private _validate;
    private _subscribeContainerWidthChange;
    private _subscribeContainerOrientationChange;
    private _setHorizontalStyles;
}
