import { DestroyRef, EventEmitter, OnChanges, SimpleChanges, ViewContainerRef } from '@angular/core';
import { FormControl } from "@angular/forms";
import { EasyFormComponent } from "../easy-form/easy-form.component";
import { EasyFormControl } from "../easy-form-control";
import { Observable } from "rxjs";
import * as i0 from "@angular/core";
export declare class FormFieldDirective implements OnChanges {
    destroyRef: DestroyRef;
    viewContainerRef: ViewContainerRef;
    easyFormComponent: EasyFormComponent;
    disabled: boolean;
    props?: Record<string, any>;
    change: EventEmitter<any>;
    fieldEvent: EventEmitter<Event>;
    focus: Observable<FocusEvent>;
    blur: Observable<FocusEvent>;
    input: Observable<InputEvent>;
    keyup: Observable<KeyboardEvent>;
    keydown: Observable<KeyboardEvent>;
    instance?: EasyFormControl;
    path: Array<string | number>;
    control?: FormControl;
    private componentRef?;
    private valueChangeSubscription?;
    get value(): any;
    private get form();
    ngOnChanges(changes: SimpleChanges): void;
    private pathChanged;
    private setControl;
    private render;
    private _render;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FormFieldDirective, "ng-container[easyFormField]", ["easyFormField"], { "disabled": { "alias": "disabled"; "required": false; }; "props": { "alias": "props"; "required": false; }; "path": { "alias": "path"; "required": true; }; }, { "change": "change"; "fieldEvent": "fieldEvent"; "focus": "focus"; "blur": "blur"; "input": "input"; "keyup": "keyup"; "keydown": "keydown"; }, never, never, true, never>;
    static ngAcceptInputType_path: string | Array<string | number>;
}
