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 _labelVisible;
    private _labelWidth;
    private _orientation;
    private _selfLabelWidth;
    private _selfOrientation;
    private _markVisible;
    private _ngForm;
    _labelStyles: any;
    _groupStyles: any;
    _invalid: boolean;
    label: string;
    labelVisible: boolean;
    labelWidth: number;
    messages: {
        [key: string]: string;
    };
    orientation: NtFormOrientation;
    readonly horizontal: boolean;
    markVisible: boolean;
    readonly required: boolean | null;
    readonly errors: ValidationErrors | null;
    control: NtFormFieldControl<any>;
    readonly ngControl: NgControl | null;
    readonly statusChanges: Observable<any>;
    constructor(_ngZone: NgZone, _changeDetectorRef: ChangeDetectorRef, parentForm: NgForm, parentFormGroup: FormGroupDirective, _formLabelWidth: NtFormLabelWidthDirective, _formOrientation: NtFormOrientationDirective);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private _validate;
    _clearValidateMessage(): void;
    private _setHorizontalStyles;
}
