import { OnInit, SimpleChanges, EventEmitter, Renderer2, ElementRef } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { EwMaDesignTranslateService } from '../../services/ew-ma-design-translate.service';
import { EwMaDesignService } from '../../ew-ma-design.service';
import { TranslateService } from '@ngx-translate/core';
import { FormGroup, FormBuilder } from '@angular/forms';
import { LoggerService, FlashService, EwCommonService } from 'ew-common-lib';
export declare class WidgetBuilderComponent implements OnInit {
    private designService;
    private ewTranslateService;
    translate: TranslateService;
    private ewloggerService;
    dialog: MatDialog;
    private formBuilder;
    private ewCommonService;
    private ewFlashService;
    private renderer;
    private el;
    /**
    * @description
    * Event id from container app.
    */
    event_id: string;
    /**
     * @description
     * Language
     */
    default_lang: string;
    /**
     * @description
     * Event Type
     */
    eventType: string;
    /**
     * @description
     * currentPreviewLayout
     */
    currentPreviewLayout: string;
    /**
     * @description
     * embedCode
     *
     */
    embedCode: string;
    /**
     * @description
     * Event Codes
     */
    readonly ewEventTypes: {
        LIVE: string;
        AUTOMATED: string;
        EVERGREEN: string;
    };
    /**
     * @description
     * Section Loader
     */
    sectionLoader: Boolean;
    /**
     * Diaglog reference
     */
    dialogRef: any;
    /**
     * @description
     * slug poup toggle check
     */
    embedToggle: boolean;
    styleRef: any;
    /**
     * @description
     * Emit event to exit page.
     */
    closeFunnelPage: EventEmitter<any>;
    set event_type(val: string);
    /**
     * sidebar opening
     */
    openSidebar: boolean;
    /**
     * Registration page customisation controls form group.
     */
    widgetPageBuilderForm: FormGroup;
    /**
     * @description
     * Left sidebar active option
     */
    activeSidebarOptions: string;
    /**
     * @description
     * view init
     */
    viewInit: boolean;
    /**
     * @description
     * page status check
     */
    pageStatus: boolean;
    autoSave: boolean;
    e_wid: string;
    /**
     * @description
     * timer for auto save
     */
    timer$: any;
    private unsubscribe;
    widElement: Array<string>;
    publishing: number;
    /**
     * @description
     * Inject dependencies for use.
     * @param designService
     * @param EwDesignTranslateService
     * @param translate
     * @param ewloggerService
     */
    constructor(designService: EwMaDesignService, ewTranslateService: EwMaDesignTranslateService, translate: TranslateService, ewloggerService: LoggerService, dialog: MatDialog, formBuilder: FormBuilder, ewCommonService: EwCommonService, ewFlashService: FlashService, renderer: Renderer2, el: ElementRef);
    /**
     * @description
     * Set event id in service for use in library.
     */
    ngOnInit(): void;
    initLanguage(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngDoCheck(): void;
    /**
     * Old Code for dynamic elements level
     */
    ngAfterViewInit(): void;
    onExitFunnelPage(): void;
    get widgetForm(): any;
    openConfigPanel(): void;
    closeConfigPanel(): void;
    closeEmbedCodePanel(): void;
    embedChange(type?: string): void;
    /**
     * @description
     * Manage right sidebar config sections.
     */
    changeSidebarOptions(activeTabValue: string): void;
    /**
     * @description
     * Setup the form.
     */
    initializeProcess(): void;
    ngOnDestroy(): void;
    /**
     * @description
     * Save Changes
     */
    saveChanges(): void;
    /**
     * @description
     * Fetch the data
     */
    fetchDataFromAPI(): void;
    fetchStatusData(): void;
    onPageStatusChange(type?: string): void;
    /**
     * @description
     * Copy function
     */
    copyContent(inputElement: any): void;
    /**
     * @description
     * Open Popup
     */
    eventRegistrationModel(): void;
    /**
    * @description
    * function to write form validation and return as string
    * @param data
    */
    getFormValidatorCode(data?: any): string;
    /**
    * @description
    * function to write form main js code for loading schedule and submission and return as string
    * @param data
    */
    getFormJsCode(data?: any): string;
    /**
      * @description
      * Function to extract html from the template and return as string
      * @param data
      */
    getHtml(data?: any): string;
    /**
     * function to publish the changes or write the html to s3
     */
    publishChanges(): void;
}
