import { OnInit } from '@angular/core';
import { AbstractControl } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { ValidationMessageService } from '../../core/validation-message.service';
import { ControlLabelPosition } from '../form-control-base';
import * as i0 from "@angular/core";
export declare class FormControlLabelComponent implements OnInit {
    protected validationMessageService: ValidationMessageService;
    private translateService;
    /**
     * Id
     */
    id?: string;
    /**
     * Bind id to host element
     */
    attrId?: string;
    /**
     * The form control label
     */
    label: string;
    /**
     * UI-oriented form model that retains the states and values of the HTML controls on screen.
     * Can be a {@link FormControl}, a {@link FormGroup} or a {@link FormArray}
     *
     * @type {AbstractControl}
     * @memberof FormControlBase
     */
    control?: AbstractControl;
    /**
       * The position of the form control label (top|bottom|left)
       */
    labelPosition?: ControlLabelPosition;
    /**An optional string to show if any of the underlying controls has an error. If falsy, one of the
     * errors from the underlying controls will be used.
     */
    overrideValidationError?: string;
    /**An optional flag to hide the validation messages.
     */
    hideValidationMessage?: boolean;
    /**
     * All current validation errors
     *
     * @type {string}
     * @memberof FormControlBase
     */
    validationErrors: string;
    allControlsTouched: boolean;
    private componentDestroyed;
    constructor(validationMessageService: ValidationMessageService, translateService: TranslateService);
    ngOnInit(): Promise<void>;
    /**
     * Angular onDestroy lifecyle hook.
     * Unsubscribe from any observables
     *
     * @see https://angular.io/guide/lifecycle-hooks
     * @memberof FormControlBase
     */
    ngOnDestroy(): void;
    private getErrors;
    private assignErrors;
    /**
     * Function that subscribes to the controls valueChanges Observable
     * to take any erros and translate them
     *
     * @param {*} [data]
     * @returns
     * @memberof FormControlBase
     */
    private translateValidationMessages;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormControlLabelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormControlLabelComponent, "ec-form-control-label", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "control": { "alias": "control"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "overrideValidationError": { "alias": "overrideValidationError"; "required": false; }; "hideValidationMessage": { "alias": "hideValidationMessage"; "required": false; }; }, {}, never, never, false, never>;
}
