import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { PropertiesService } from '../../../../common-property-panel/properties/properties.service';
import { AxForm } from '../../../../forms/ax-form';
import { Widget } from '../../../../forms/page/widgets/widget';
import { WidgetsService } from '../../../../sculptor-lib/widgets/widgets.service';
import { FormBuilderMasterService } from '../../form-builder-master.service';
import { AxoSnackBarService, CommonService, GhostLoaderType } from '../../../../../public-api';
import { ClipboardService } from '../../../../sculptor-lib/widgets/clipboard.service';
import { CustomStorage } from '../../cutom-storage.service';
import { SubscribedPlanName } from '../../../../subscribedPlanName.service';
import * as i0 from "@angular/core";
export declare class WidgetDropListComponent implements OnInit, OnDestroy {
    private _widgetsService;
    private _activatedRoute;
    private _propertiesService;
    private _formBuilderMasterService;
    private clipboardService;
    private _customeStorage;
    private _axoSnackBar;
    private _subscribedPlanName;
    private _commonService;
    form: AxForm;
    group: FormGroup;
    currentView: string;
    localFormId: any;
    saveEvent: EventEmitter<void>;
    exitFormEvent: EventEmitter<void>;
    widgetFormGroup: FormGroup;
    formId: string;
    showDropView: boolean;
    formSelect: boolean;
    showEditor: boolean;
    dynamicIndex: number;
    lastClickedWidgetIndex: any;
    selectedWidget: any;
    fwl: any;
    swl: any;
    isFormFresh: boolean;
    isSubForm: boolean;
    showDropHere: boolean;
    private destroy$;
    /**
   * Constructor
   *
   * @param _widgetsService
   */
    showGhostLoader: boolean;
    GhostLoaderType: typeof GhostLoaderType;
    constructor(_widgetsService: WidgetsService, _activatedRoute: ActivatedRoute, _propertiesService: PropertiesService, _formBuilderMasterService: FormBuilderMasterService, clipboardService: ClipboardService, _customeStorage: CustomStorage, _axoSnackBar: AxoSnackBarService, _subscribedPlanName: SubscribedPlanName, _commonService: CommonService);
    ngOnDestroy(): void;
    /**
     * On Init
    */
    ngOnInit(): void;
    fetchName(formId: any): void;
    accessPremium(): boolean;
    /**
     * to add dropped widget in form widgets
     *
     * @param event
     */
    pasteWidgetIntoForm(widget: Widget): void;
    /**
     * Paste an AI widget into the form
     * @param widget AI Widget to paste
     */
    pasteAIWidgetIntoForm(widget: Widget): void;
    /**
     * All subscriber should be implemented in this .
     */
    subscribers(): void;
    /**
     * to add dropped widget in form widgets
     *
     * @param event
     */
    dropWidget(event: CdkDragDrop<any>): void;
    /**
     * to get unique identifier
     *
     * @param widget
     */
    validateUniqueIdentifier(widget: any): Promise<any>;
    addUniqueIdentifier(widget: any): void;
    /**
     * To check if a widget is eligible to be set as the listViewTitle (lvt) / listViewSubtitle(lvst)
     */
    private isWidgetEligibleForLvtAndLvst;
    isValidIdentifier(identifier: string): boolean;
    /**
     * it will add form control in form group
     *
     * @param name
     * @param value
     */
    addFormControl(name: string, value: any): void;
    /**
     * to add dynamic properties according to language
     *
     * @param widget
     */
    addDynamicLabelField(widget: Widget): void;
    /**
   * to delete widget from form widgets
   *
   * @param widget
   */
    deleteWidget(widget: any): Promise<void>;
    saveForm(): void;
    exit(): void;
    setClickedWidget(widget: any): void;
    removeWidgetSelection(): void;
    setDropView(): void;
    showDrop(): boolean;
    resetWidgets(headerIndex: number): void;
    formClickEvent(): void;
    toggleEditor(widget: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<WidgetDropListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WidgetDropListComponent, "widget-drop-list", never, { "form": "form"; "group": "group"; "currentView": "currentView"; "localFormId": "localFormId"; }, { "saveEvent": "saveEvent"; "exitFormEvent": "exitFormEvent"; }, never, never>;
}
