import { EventEmitter, OnInit, Renderer2, QueryList, ElementRef } from '@angular/core';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
import { FormPermissionService } from '../form-permission.service';
import { CommonLibConfigurationService } from '../common-lib-configuration.service';
import { CommonService } from '../common.service';
import { MatSelectChange } from '@angular/material/select';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AxForm } from '../forms/ax-form';
import * as i0 from "@angular/core";
export declare class FieldMapComponent implements OnInit {
    private formBuilder;
    private formService;
    private commonLibConfig;
    private commonService;
    private httpClient;
    private renderer;
    appVersionId: number;
    filteredWidgets: any[];
    mapType: string;
    actionFormId: any;
    sourceForms: AxForm[];
    source: boolean;
    fieldMapData: any[];
    fieldmap: EventEmitter<any>;
    keyNameInputs: QueryList<ElementRef>;
    formGroup: FormGroup;
    forms: any[];
    done: string[];
    formNames: FormData[];
    constructor(formBuilder: FormBuilder, formService: FormPermissionService, commonLibConfig: CommonLibConfigurationService, commonService: CommonService, httpClient: HttpClient, renderer: Renderer2);
    ngOnInit(): void;
    private initializeFormGroup;
    private populateFormGroup;
    loadFormDetails(): void;
    get data(): FormArray;
    toggleItemsVisibility(form: any): void;
    createDataSection(): FormGroup;
    addDataSection(): void;
    removeDataSection(index: number): void;
    getAvailableWidgets(index: number): any[];
    onFieldSelected(event: MatSelectChange, index: number): void;
    updateFormControlValue(event: any, control: FormGroup): void;
    drop(event: CdkDragDrop<any[]>, control: FormGroup): void;
    private findSafeInsertionPoint;
    getDroppedItems(control: FormGroup): string[];
    getKeys(control: FormGroup): string[];
    removeDroppedItem(control: FormGroup, index: number): void;
    getDropListId(index: number): string;
    getConnectedDropLists(): string[];
    buildMapObject(): any;
    getUserDetail(): Observable<any>;
    logMapObject(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FieldMapComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FieldMapComponent, "lib-field-map", never, { "appVersionId": "appVersionId"; "filteredWidgets": "filteredWidgets"; "mapType": "mapType"; "actionFormId": "actionFormId"; "sourceForms": "sourceForms"; "source": "source"; "fieldMapData": "fieldMapData"; }, { "fieldmap": "fieldmap"; }, never, never>;
}
