import { EventEmitter } from '@angular/core';
import { HttpService, AuthenticationService } from 'ew-common-lib';
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
export declare class EwMaDesignService {
    private env;
    private httpService;
    private http;
    private authenticationService;
    /**
     * @description
     * API token for authentication.
     */
    private templateVersion;
    /**
     * @description
     * API token for authentication.
     */
    private token;
    /**
     * @description
     * User domian value from Auth service.
     */
    private userDomain;
    /**
     * @description
     * Event id to use in the library
     */
    private event_id;
    /**
     * @description
     * Language
     */
    defaultLang: string;
    /**
     * @description
     * Builder page to load by default on landing funnel page..
     */
    builderPageToLoad: string;
    /**
     * @description
     * Set event_id to use in the whole lib.
     * @param {string} id event id.
     */
    set eventId(id: string);
    /**
     * @description
     * hold API data of register form
     */
    customFormData: any;
    /**
     * @description
     * hold API data of Schedule
     */
    scheduleData: any;
    /**
     * @description
     * Get event_id from anywhere in lib.
     * @return event id.
     */
    get eventId(): string;
    private eventFrequencyType;
    sharedeventFrequencyType: Observable<string>;
    nextEventFrequencyTypeValue(eventFrequencyType: string): void;
    private regConfigEditData;
    sharedconfigEditData: Observable<string>;
    saveButtonEvent: EventEmitter<string>;
    saveThankYouPageButtonEvent: EventEmitter<string>;
    saveWaitingAreaPageButtonEvent: EventEmitter<string>;
    saveEventPageButtonEvent: EventEmitter<string>;
    saveReplayPageButtonEvent: EventEmitter<string>;
    transmitEditData(data: any): void;
    environment: any;
    /**
     * @description
     * Inject services to use in this component.
     * @param env environment file for API base URLs.
     * @param httpService http service to call APIs.
     * @param authenticationService To get auth token.
     */
    constructor(env: any, httpService: HttpService, http: HttpClient, authenticationService: AuthenticationService);
    /**
     * @description
     * Generates full url for API request.
     * @param url Resource name
     */
    getUrl(url: string): string;
    /**
     * @description
     * Get Template version for pages
     */
    getTemplateVersion(): string;
    /**
     * @description
     * Get Cookie
     * @param url Resource name
     */
    getCookie(name: string): string;
    /**
     * @description
     * GET schedule Lambda API endpoint.
     * @param url Resource name
     */
    getScheduleApiEndpoint(): any;
    /**
     * @description
     * GET Images CDN endpoint.
     *
     */
    getImageCDNEndpoint(): any;
    /**
     * @description
     * Base URL for server
     *
     */
    getServerURL(): any;
    /**
     * @description
     * GET V1 CDN Lambda API endpoint.
     *
     */
    getV1CDNEndpoint(): any;
    /**
     * @description
     * GET V1 CDN Lambda API endpoint.
     *
     */
    getV2CDNEndpoint(): any;
    /**
     * @description
     * GET schedule Lambda API endpoint.
     *
     */
    getDomainName(): string;
    /**
     * @description
     * Save Registration Page Builder Event.
     * @param url Resource name
     */
    saveRegPageEvent(msg: string): void;
    /**
     * @description
     * Save Registration Page Builder Event.
     * @param url Resource name
     */
    saveThankYouPageEvent(msg: string): void;
    /**
     * @description
     * Save Registration Page Builder Event.
     * @param url Resource name
     */
    saveWaitingAreaPageEvent(msg: string): void;
    /**
     * @description
     * Save Event Page Page Builder Event.
     * @param url Resource name
     */
    saveEventPageEvent(msg: string): void;
    /**
     * @description
     * Save Event Page Page Builder Event.
     * @param url Resource name
     */
    saveReplayPageEvent(msg: string): void;
    /**
     * @description
     * Service to Set Register form custom fields.
     * @param data Data object of response
     */
    setRegisterFormDataReq(data: any): void;
    /**
     * @description
     * * Service to Get Register form custom fields.
     */
    getRegisterFormDataReq(): any;
    /**
     * @description
     * Service to Set Register form custom fields.
     * @param data Data object of response
     */
    setScheduleData(data: any): void;
    /**
     * @description
     * * Service to Get Register form custom fields.
     */
    getScheduleData(): any;
    /**
     * @description
     * Service to Fetch Register form builder JSON.
     * @param model Data object to pass in header
     */
    getRegFormBuilderJSON(): Observable<any>;
    /**
     * @description
     * Service to Fetch Thank You Page builder JSON.
     * @param model Data object to pass in header
     */
    getThankYouPageBuilderJSON(): Observable<any>;
    /**
     * @description
     * Service to Fetch Event Page  builder JSON.
     * @param model Data object to pass in header
     */
    getEventPage(): Observable<any>;
    /**
     * @description
     * Fetch event details from API
     * @param model Data to attach with API.
     */
    getEventDetails(model: any): Observable<any>;
    /**
     * @description
     * Service to Fetch Replay builder JSON.
     * @param model Data object to pass in header
     */
    getReplayPage(): Observable<any>;
    /**
     * @description
     * Service to Fetch Waiting Area Page builder JSON.
     * @param model Data object to pass in header
     */
    getWaitingAreaPageBuilderJSON(): Observable<any>;
    /**
     * @description
     * Service to create event Poll.
     * @param model Data object to pass in header
     */
    saveRegistrationPage(model: any): Observable<any>;
    /**
     * @description
     * Service to save Thank you page json.
     * @param model Data object to pass in header
     */
    saveThankYouPage(model: any): Observable<any>;
    /**
     * @description
     * Service to save Waiting Area.
     * @param model Data object to pass in header
     */
    saveWaitingAreaPage(model: any): Observable<any>;
    /**
     * @description
     * Service to save EVENT Page.
     * @param model Data object to pass in header
     */
    saveEventPage(model: any): Observable<any>;
    /**
     * @description
     * Service to save EVENT Page.
     * @param model Data object to pass in header
     */
    saveReplayPage(model: any): Observable<any>;
    /**
     * @description
     * Service to Fetch widget builder JSON.
     * @param model Data object to pass in header
     */
    getWidgetFormBuilderJSON(): Observable<any>;
    /**
     * @description
     * Service to save widget Page Builder.
     * @param model Data object to pass in header
     */
    saveWidgetPage(model: any): Observable<any>;
    /**
     * @description
     * Service to fetch widget status.
     * @param model Data object to pass in header
     */
    getWidgetStatusData(paramEventId: any): Observable<any>;
    /**
     * @description
     * Service to Update widget page status
     * @param model Data object to pass in header
     */
    updateWidgetPageStatus(model: any): Observable<any>;
    /**
     * @description
     * Service to save register form fields.
     * @param model Data object to pass in header
     */
    getRegisterFormFields(): Observable<any>;
    /**
     * @description
     * Service to save register form fields.
     * @param model Data object to pass in header
     */
    saveRegisterFormFields(model: any): Observable<any>;
    /**
     * @description
     * Service to Update register form fields.
     * @param model Data object to pass in header
     */
    updateCustomFieldFormBackend(model: any): Observable<any>;
    /**
     * @description
     * Service to Update Status register form fields.
     * @param model Data object to pass in header
     */
    updateCustomFieldStatusFormBackend(model: any): Observable<any>;
    /**
     * @description
     * Service to DELETE register form fields.
     * @param model Data object to pass in header
     */
    deleteCustomFieldFormBackend(ewp_field_id: any): Observable<any>;
    /**
     * @description
     * Dummy API response for testing
     * @returns API response as observable.
     */
    getTestRegCustomConfigs(): Observable<any>;
    /**
     * @description
     * Get Presenters from API
     * @returns API response as observable.
     */
    getPresenters(): Observable<any>;
    /**
    * @description
    * Service to send create html request to s3.
    * @param model Data object to pass in header
    */
    saveHtmlTemplate(model: any): Observable<any>;
    /**
     * @description
     * Service to Update updatePageStatus.
     * @param model Data object to pass in header
     */
    updatePageStatus(model: any): Observable<any>;
    /**
     * @description
     * Service to Fetch slug and Status data.
     * @param model Data object to pass in header
     */
    getSlugAndStatusData(): Observable<any>;
    /**
     * @description
     * Service to Update updatePageSlug.
     * @param model Data object to pass in header
     */
    updatePageSlug(model: any): Observable<any>;
    /**
     * @description
     * Service to updateGDPRFieldFormBackendg.
     * @param model Data object to pass in header
     */
    updateGDPRFieldFormBackend(model: any): Observable<any>;
    /**
     * @description
     * Service to scroll new created elements in center.
     * @param elemRef Element Ref
     */
    scrollToView(elemRef: any): boolean;
    /**
     * @description
     * Service to Fetch Google Fonts JSON data.
     */
    getGoogleFontsJSON(): Observable<any>;
    /**
     * @description
     * Service to fetch templates list.
     * @param model Data object to pass in header
     */
    getBuilderTemplatesList(model: any): Observable<any>;
    /**
     * @description
     * Service to save register form fields.
     * @param model Data object to pass in header
     */
    getBuilderTemplateData(model: any): Observable<any>;
    /**
     * @description
     * Remove the provided class from the provided elements
     * @param element
     * @param className
     *
     *
     */
    removeClassName(element: any, className: string): void;
    /**
     * @description
     * Handle error
     * @param string operation
     * @param T result
     */
    handleError<T>(operation?: string, result?: T): (error: any) => Observable<T>;
}
