import { AbstractDialogService } from '@wm/core';
import { ToDatePipe } from '@wm/components/base';
import { LiveTableComponent } from '@wm/components/data/live-table';
import * as i0 from "@angular/core";
export declare class LiveFormDirective {
    private form;
    datePipe: ToDatePipe;
    private dialogService;
    static initializeProps: void;
    private _triggeredByUser;
    private _debouncedSavePrevDataValues;
    onKeydownHandler(event: KeyboardEvent): void;
    constructor(form: any, liveTable: LiveTableComponent, datePipe: ToDatePipe, dialogService: AbstractDialogService, formlayout: string);
    registerFormFields(formField: any): void;
    private _updateFieldOnDataSourceChange;
    onDataSourceChange(): void;
    onFieldDefaultValueChange(field: any, nv: any): void;
    onFieldValueChange(field: any, nv: any): void;
    getBlobURL(dataObj: any, key: any, value: any): string;
    setFormData(dataObj: any, formFields?: any): void;
    onDataSourceUpdate(response: any, newForm: any, updateMode: any): void;
    savePrevformFields(): void;
    getPrevformFields(): void;
    getDataObject(): any;
    constructDataObject(isPreviousData?: any): any;
    setPrimaryKey(fieldName: any): void;
    findOperationType(): any;
    getPrevDataValues(): import("lodash").Dictionary<any>;
    savePrevDataValues(): void;
    clearData(): void;
    setReadonlyFields(): void;
    reset(): void;
    closeDialog(): void;
    cancel(): void;
    delete(callBackFn: any): void;
    saveAndNew(): void;
    saveAndView(): void;
    submitForm($event: any): void;
    save(event?: any, updateMode?: any, newForm?: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LiveFormDirective, [{ self: true; }, { optional: true; }, null, null, { attribute: "formlayout"; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LiveFormDirective, "[wmLiveForm]", never, {}, {}, never, never, false, never>;
}
