import { EventEmitter, ChangeDetectorRef } from '@angular/core';
import { FormControl, FormGroup, FormBuilder } from '@angular/forms';
import { FieldValue, LfFieldInfo, LfFieldValue } from '../utils/lf-field-types';
import * as i0 from "@angular/core";
export declare class LfFieldComponent {
    /** @internal */
    private fb;
    /** @internal */
    private cdr;
    /** @internal */
    lfFieldInfo: LfFieldInfo;
    /** @internal */
    lfFieldValue: LfFieldValue;
    /** @internal */
    singleFieldParentForm: FormGroup;
    /** @internal */
    showLoader: boolean;
    /** @internal */
    fieldValueChanged: EventEmitter<string>;
    /** @internal */
    dynamicFieldValueOptions: string[] | undefined;
    /** @internal */
    showField: boolean;
    /** @internal */
    constructor(
    /** @internal */
    fb: FormBuilder, 
    /** @internal */
    cdr: ChangeDetectorRef);
    /** @internal */
    getSingleField(): FormControl;
    /** @internal */
    isValid(): boolean;
    /** @internal */
    forceValidation: () => boolean;
    /** @internal */
    getOptions(): string[] | undefined;
    /** @internal */
    initAsync: (field: LfFieldInfo, fieldValue?: LfFieldValue, dynamicFieldValueOptions?: string[]) => Promise<void>;
    /** @internal */
    private removeInvalidFieldValues;
    /** @internal */
    private getInitialValue;
    /** @internal */
    getFieldValue: () => FieldValue;
    /** @internal */
    fieldDataChange(value: LfFieldValue): void;
    /** @internal */
    get isLoading(): boolean;
    /** @internal */
    set isLoading(val: boolean);
    static ɵfac: i0.ɵɵFactoryDeclaration<LfFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LfFieldComponent, "lf-field-component", never, { "forceValidation": { "alias": "forceValidation"; "required": false; }; "initAsync": { "alias": "initAsync"; "required": false; }; "getFieldValue": { "alias": "getFieldValue"; "required": false; }; }, { "fieldValueChanged": "fieldValueChanged"; }, never, never, false, never>;
}
