import { OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { EwMaDesignService } from '../../../ew-ma-design.service';
import { LoggerService, FlashService } from 'ew-common-lib';
import { HttpClient } from '@angular/common/http';
export declare class FormSettingComponent implements OnInit {
    private formBuilder;
    private designService;
    private ewloggerService;
    private http;
    private ewFlashService;
    /**
     * @description
     * Default value of GDPR
     */
    gdpr_default_value: string;
    /**
     * @description
     * Buider type: pages or widget
     */
    builderType: string;
    /**
    * @description
    * Edit data to populate form during edit.
    */
    parentFrom: FormGroup;
    /**
     * @description
     * Control Name.
     */
    controlName: string;
    /**
     * @description
     * show/hide heading of component
     */
    showHeading: boolean;
    /**
     * @description
     * Form Data.
     */
    formData: any;
    /**
     * @description
     * show/hide Custom form field
     */
    toggleCustomForm: boolean;
    /**
     * @description
     * Toggle GDPR required field
     */
    gdpr_required: boolean;
    /**
     * @description
     * Toggle GDPR status field
     */
    gdpr_status: boolean;
    /**
     * @description
     * Edit Data Index
     */
    editIndex: number;
    /**
     * @description
     * Edit GDPR
     */
    editGDPR: boolean;
    /**
     * @description
     * Checkbox control for Drop Down custom field values to show/hide
     */
    showCustomValueForDropdown: boolean;
    /**
     * @description
     * Contain FormArray to save options
     */
    selectBoxOptions: FormArray;
    /**
     * @description
     * Validator Form
     */
    validatorForm: FormGroup;
    /**
     * @form fields
     * default values of fields
     */
    formFields: any;
    ewRegisterFormJson: any;
    ewRegisterFormJsonOldValue: any;
    changeDetected: boolean;
    /**
     * Initialise Services
     * @param formBuilder
     */
    constructor(formBuilder: FormBuilder, designService: EwMaDesignService, ewloggerService: LoggerService, http: HttpClient, ewFlashService: FlashService);
    /**
     * NgOnint hook
     */
    ngOnInit(): void;
    /**
     * Initialise Form
     */
    initializeProcess(): void;
    /**
    * ngDoCheck hook
    */
    ngDoCheck(): void;
    /**
     * Create From control
     */
    createControl(): void;
    /**
     * Show Custom value Change
     */
    showCustomValueChange($event: any): void;
    /**
     * @description
     * Show/hide Count Down box
     */
    toggleCheckbox(i: number): void;
    /**
     * @description
     * Toggle GDPR Checkbox
     */
    toggleGDPRrequiredCheckbox(): void;
    /**
     * @description
     * Toggle GDPR Checkbox
     */
    toggleGDPRStatusCheckbox(): void;
    /**
     * cdk DropDown
     * @param CdkDragDrop List
     */
    drop(event: CdkDragDrop<string[]>): boolean;
    /**
     * @description
     * Open Custom field form
     */
    openCustomFieldForm(): void;
    /**
     * @description
     * Open Custom field form
     */
    openEditCustomFieldForm(index: number, ewp_field_id: number): void;
    /**
     * @description
     * Delete Custom field form
     */
    deleteCustomFieldForm(index: number, ewp_field_id: number): void;
    /**
     * @description
     * Set the form fields
     */
    setForm(): void;
    /**
     * @description
     * Set the form fields
     */
    setEditForm(): void;
    /**
     * @description
     * conditional validations based on custom field type values
     */
    setCustomTypeValidators(): void;
    /**
     * @description
     * DropDown compare values for default section
     */
    compareFn(o1: any, o2: any): boolean;
    /**
     * @description
     * GDPR toggle
     */
    editGDPREvent(): void;
    /**
     * @description
     * GDPR cancelToggle
     */
    cancelGDPREvent(): void;
    /**
     * @description
     * saveGDPREvent
     */
    saveGDPREvent(): void;
    /**
     * @description
     * Fetch Custom field data from API
     */
    fetchCustomFieldsData(): void;
    fetchLatestData(populateData?: boolean): any;
    /**
     * @description
     * Method to remove  custom field form
     */
    populateAPIData(response: any): any;
    /**
     * @description
     * Method to Added/Edited  custom field
     */
    saveFormData(): any;
    saveCustomFieldFormBackend(model: any): any;
    updateCustomFieldFormBackend(model: any): any;
    updateCustomFieldStatusFormBackend(currentStatus: boolean, ewp_field_id: number): any;
    /**
     * @description
     * Method to remove  custom field form
     */
    closeCustomFieldForm(): any;
    /**
     * @description
     * Method to UPdate the Register Form with new changes
     */
    updateRegisterForm(): void;
    /**
     * @description
     * Method to REMOVE Option
     */
    removeOption(index: number): void;
    /**
     * @description
     * Method to add Option
     */
    addMoreOption(): void;
    /**
     * @description
     * Method to auto Populate More Options values
     */
    autoPopulateMoreOptions(): void;
}
