import { Renderer2, ElementRef, OnInit, AfterViewInit, OnDestroy } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';
import { EwMaDesignService } from '../../ew-ma-design.service';
import { MatDialog } from '@angular/material/dialog';
import { EwDesignHeaderComponent } from '../ew-design-header/ew-design-header.component';
import { LoggerService, FlashService } from 'ew-common-lib';
import { HttpClient } from '@angular/common/http';
export declare class RegistrationPageComponent implements OnInit, AfterViewInit, OnDestroy {
    private designService;
    private formBuilder;
    dialog: MatDialog;
    private ewloggerService;
    private ewFlashService;
    private renderer;
    private el;
    private http;
    /**
     * @description
     * Section Loader
     */
    sectionLoader: Boolean;
    /**
     * Registration page customisation controls form group.
     */
    regPageBuilderForm: FormGroup;
    header: EwDesignHeaderComponent;
    editFormData: any;
    viewInit: boolean;
    openSidebar: boolean;
    activeSidebarOptions: string;
    changeDetected: boolean;
    oldValueOfRegisterCheck: boolean;
    oldValueOfSettingpageCheck: boolean;
    oldValueOfRegisterPopupCheck: boolean;
    allowWithoutSchedule: boolean;
    styleRef: any;
    /**
     * registrationFormData
     */
    registrationFormData: any;
    hiddenElementData: any;
    hiddenSubElementData: any;
    selectedElementData: {
        type: string;
        sidebar_active: string;
        focused: false;
        meta_data: any;
    };
    pageBuilderLayout: any;
    apiResponseflag: boolean;
    private unsubscribe;
    private saveEventSubscription;
    timer$: any;
    isInitAction: boolean;
    initCheck: number;
    showPopup: boolean;
    /**
     * Initialise Services.
     * @param designService
     * @param formBuilder
     * @param ewloggerService
     */
    constructor(designService: EwMaDesignService, formBuilder: FormBuilder, dialog: MatDialog, ewloggerService: LoggerService, ewFlashService: FlashService, renderer: Renderer2, el: ElementRef, http: HttpClient);
    /**
     * NgOnint hook
     */
    ngOnInit(): void;
    ngDoCheck(): void;
    addSection(section_type: string, index?: number): void;
    addNewElement(type: string, mi: number, section: string): void;
    removeSection(mi: number): void;
    cloneSection(mi: number): void;
    moveSection(direction: string, mi: number): void;
    configureElement(component: any): void;
    ngAfterViewInit(): void;
    /**
     * @description
     * Setup the form.
     */
    initializeProcess(): void;
    helloTypography(): void;
    /**
     * apply Typography
     */
    applyTypography(): void;
    ngOnDestroy(): void;
    saveChanges(data?: any): void;
    fetchDataFromAPI(): void;
    /**
     * @description
     * fetchFormDataFromAPI.
    */
    fetchFormDataFromAPI(): void;
    /**
     * @description
     * fetchScheduleDataFromAPI.
     */
    fetchScheduleDataFromAPI(): void;
    get regForm(): any;
    closeConfigPanel(): void;
    /**
     * Remove Element Focus from Page Hover Element
     */
    removeElementFocus(): void;
    openConfigPanel(): void;
    /**
     * @description
     * close the sidebar for Popup
     */
    sidebarBack(type?: string): void;
    /**
     * @description
     * Manage right sidebar config sections.
     */
    changeSidebarOptions(activeTabValue: string): void;
    getRgbAlpha(color: any, alpha: any): any;
    /**
     * @description
     * function to write form validation and return as string
     * @param data
     */
    getFormValidatorCode(data?: any): string;
    /**
     * @description
     * Function to extract html from the template and return as string
     * @param data
     */
    /**
     * Apply Style property on HTML element type DOM
     * @param element
     * @param style
     */
    applyStylePropertyOnEle(element: any, style: any): void;
    getHtml(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;
    hoverUpon: string;
    isActive: boolean;
    status: boolean;
    selected: string;
    clickEvent(): void;
    mouseHover(e: any, type: any): void;
    awakeSideBar(data: any): void;
    callHiddenElement(data: any): void;
    callSubHiddenElement(data: any): void;
    /**
     * function to publish the changes or write the html to s3
     */
    publishChanges(): boolean;
    closePopup(event: any): void;
}
