import { HttpClient } from '@angular/common/http';
import { AxForm } from '../../forms/ax-form';
import { CommonLibConfigurationService } from '../../common-lib-configuration.service';
import { Observable } from 'rxjs';
import { FormsListService } from '../forms-list/forms-list.service';
import { CustomStorage } from './cutom-storage.service';
import { FormBuilderMasterMapperService } from './form-builder-master-mapper.service';
import * as i0 from "@angular/core";
export declare class FormBuilderMasterService {
    private _httpClient;
    private _formsListService;
    private _customeStorage;
    private commonLibConfig;
    private _formbuildermapper;
    private _form;
    private _functionCallSubjectRouteForm;
    private _functionCallUpdateLocalstorageForm;
    private _functionCallSetDropbox;
    private _formObjectCount;
    allFormFields: any;
    array_subForm: any;
    private newIdentifiersSubject;
    constructor(_httpClient: HttpClient, _formsListService: FormsListService, _customeStorage: CustomStorage, commonLibConfig: CommonLibConfigurationService, _formbuildermapper: FormBuilderMasterMapperService);
    private localChangesSubject;
    localChangesExist$: Observable<boolean>;
    private initializedSubject;
    initialized$: Observable<boolean>;
    setLocalChangesExist(state: boolean): void;
    private initNewIdentifiers;
    get form$(): Observable<AxForm>;
    addNewIdentifier(identifier: string): void;
    getNewIdentifiers$(): Observable<string[]>;
    clearNewIdentifiers(): void;
    /**
     * Setter and Getter for FormObjectCount
     */
    setFormObjectCount(count: number): void;
    getFormObjectCount(): Observable<number>;
    /**
     * to call hide/show form api
     *
     * @param formId
     * @returns
     */
    hideShowForm(formVisibility: boolean, formId: string, appVersionId: string): Promise<any>;
    /**
     * Get form detail by the form id
     *
     * @param FormData
     * @returns
     */
    getFormDetails(formId: string, subFormId: string): Promise<AxForm>;
    getFormDetail(formId: string): void;
    createSubform(widgets: any, formId: any, form: any): Promise<void>;
    updateValidityConditionSubform(item: any, promptCode: any): void;
    updateFormDetails(formData: any, formId: string, formDetails: any, formScrptData: any, formVisibility: boolean): Promise<any>;
    convertBooleans(arr: any): any;
    public_identifier_get_or_create(formid: any, public_id: any, is_public: any): Promise<unknown>;
    removeIds(obj: any): any;
    addSubformDetails(widget: any, formId: any): void;
    triggerRouteFrom(parameter: string): void;
    routeForm(): Observable<string>;
    triggerLocalstorageFormUpdate(): void;
    updateLocalForm(): Observable<string>;
    triggersetDropViewFormUpdate(): void;
    setDropView(): Observable<string>;
    getSubform(formId: string): any;
    removeSubform(formId: string, subformData: any): void;
    intializeAppDetails(formId: any, appDetails: any): void;
    getIdentiferArray(): any[];
    getSubFormIdentifiers(markup: any[], list: any[]): void;
    /**
     * Get All List of location
     *
     * @param formId
     *
     */
    getListLocationForm(formId: any): any[];
    getListWhichObject(formId: any): any[];
    getExistingListWidgetObject(formId: any): any[];
    getWidgetsList(formId: any): any;
    getFilteredWidgetsList(formId: any): any[];
    getFieldListValidity(formId: any): any;
    getFieldObject(fieldId: string): any;
    precompileConditions(nodes: any): string;
    compileOperator(op: string): string;
    compileExpression(exp: any): string;
    compileIdentifier(identifier: string, fieldObj: any): string;
    compileExprFixedVal(val: any, obj: any): string;
    updateFormScriptDetails(formScriptData: any, formId: any): Promise<any>;
    getFormLanguages(formId: any): any[];
    uploadFormIcon(formIcon: any, formId: any): Promise<unknown>;
    validateWidgetDelition(deleting_id: any, form_id: any, widget: any, isFormFresh: any): Promise<any>;
    preprocessValidityConditions(output: any[]): any[];
    preprocessVisidilityConditions(output: any[]): any[];
    traverseAndVisit(fieldArray: any[], nodes: any[], id: string, dependentsType: string): void;
    findById(fieldArray: any[], id: string): any | undefined;
    removeDependents(widgets: any[], widgetId: string, dependentType: 'dependents' | 'validityDependents' | 'dependant'): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormBuilderMasterService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FormBuilderMasterService>;
}
