import { CoreWebService } from './core-web.service'; import { Observable } from 'rxjs/Rx'; import { LoginService } from './login.service'; import { DotcmsEventsService } from './dotcms-events.service'; import { LoggerService } from './logger.service'; /** * Provide methods and data to hable the sites. * @export * @class SiteService */ export declare class SiteService { private coreWebService; private loggerService; private sitesCounter; private selectedSite; private urls; private events; private _switchSite$; private _refreshSites$; constructor(loginService: LoginService, dotcmsEventsService: DotcmsEventsService, coreWebService: CoreWebService, loggerService: LoggerService); /** * Manage the response when an event happen * @param {void} eventTypeWrapper * @returns {*} * @memberof SiteService */ eventResponse(eventTypeWrapper: any): void; /** * Refresh the sites list if a event happen * @param {any} eventTypeWrapper * @memberof SiteService */ siteEventsHandler(eventTypeWrapper: any): void; /** * Observable trigger when an site event happens * @readonly * @type {Observable} * @memberof SiteService */ readonly refreshSites$: Observable; /** * Observable tigger when the current site is changed * @readonly * @type {Observable} * @memberof SiteService */ readonly switchSite$: Observable; /** * Return the current site for the login user. * @readonly * @type {Site} * @memberof SiteService */ readonly currentSite: Site; /** * Switch To Default Site in the BE and returns it. * * @returns {Observable} * @memberof SiteService */ switchToDefaultSite(): Observable; /** * Get a site by the id * * @param {string} id * @returns {Observable} * @memberof SiteService */ getSiteById(id: string): Observable; /** * Change the current site * @param {Site} site * @memberof SiteService */ switchSite(site: Site): void; private setCurrentSite(site); private loadCurrentSite(); private getOneSite(); } export interface Site { hostname: string; type: string; identifier: string; }