import { AfterViewInit, Injector } from '@angular/core';
import { IWidgetConfig, StylableComponent } from '@wm/components/base';
import * as i0 from "@angular/core";
export declare abstract class BaseFormComponent extends StylableComponent implements AfterViewInit {
    protected inj: Injector;
    private dataval;
    private prevDatavalue;
    protected binddatavalue: string;
    private datavaluesource;
    protected constructor(inj: Injector, config: IWidgetConfig, explicitContext: any, initPromise?: Promise<any>);
    set datavalue(datavalue: any);
    get datavalue(): any;
    /**
     * Responsible for updating the variable bound to the widget's datavalue property.
     * @param value
     */
    updateBoundVariable(value: any): void;
    protected invokeOnChange(value: any, $event?: Event): void;
    protected updatePrevDatavalue(val: any): void;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormComponent, [null, null, { optional: true; }, null]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<BaseFormComponent>;
}
