import { IObjectTree, IRestEntity } from '@jacquesparis/objects-model';
import { GeneratedResponse, TextGeneratedResponse } from '../../helper/generated-response';
import { CurrentContext } from '../../services';
import { HtmlGeneratedResponse } from './../../helper/generated-response';
import { ObjectNode } from './../../models/object-node.model';
import { ObjectTree } from './../../models/object-tree.model';
import { ActionEntityService } from './../../services/action-entity/action-entity.service';
import { ApplicationService } from './../../services/application.service';
import { ContentEntityService } from './../../services/content-entity/content-entity.service';
import { NodeInterceptService } from './../../services/entity-intercept/node-intercept.service';
import { InsideRestService } from './../../services/inside-rest/inside-rest.service';
import { ObjectNodeService } from './../../services/object-node/object-node.service';
import { ObjectTreeService } from './../../services/object-tree/object-tree.service';
import { ObjectTypeService } from './../../services/object-type.service';
import { TransientEntityService } from './../../services/transient-entity/transient-entity.service';
import { ActionWebSiteService } from './../web-site/action-web-site.service';
export declare class HomePageService {
    private actionWebSiteService;
    private objectTreeService;
    private objectNodeService;
    private objectTypeService;
    private nodeInterceptService;
    private contentEntityService;
    private applicationService;
    private actionEntityService;
    private transientEntityService;
    private insideRestService;
    constructor(actionWebSiteService: ActionWebSiteService, objectTreeService: ObjectTreeService, objectNodeService: ObjectNodeService, objectTypeService: ObjectTypeService, nodeInterceptService: NodeInterceptService, contentEntityService: ContentEntityService, applicationService: ApplicationService, actionEntityService: ActionEntityService, transientEntityService: TransientEntityService, insideRestService: InsideRestService);
    private getSiteUrls;
    completeWebSiteCacheLangTypeNode(objectNode: ObjectNode, ctx: CurrentContext): Promise<void>;
    publishSite(objectNode: ObjectNode, _args: Object, ctx: CurrentContext): Promise<ObjectTree>;
    publishSiteLang(objectNode: ObjectNode, lang: Object, url: string, ctx: CurrentContext): Promise<void>;
    interceptWebSiteViewUrlCreate(entityId: string | undefined, entity: ObjectNode, requestEntity: Partial<ObjectNode>, ctx: CurrentContext): Promise<boolean | IRestEntity>;
    interceptWebSiteViewUrlUpdate(entityId: string | undefined, entity: ObjectNode, requestEntity: Partial<ObjectNode>, ctx: CurrentContext): Promise<boolean | IRestEntity>;
    lookWebSiteEntry(subPath: string | undefined, ctx: CurrentContext): Promise<ObjectNode>;
    private initLangAndUser;
    getWebSiteEntity(lang: string, subPath: string | undefined, pageName: string, ctx: CurrentContext, getCacheName?: (name: string) => string): Promise<ObjectTree>;
    private setMeta;
    private addLinkElement;
    renderAdminPage(subPath: string | undefined, ctx: CurrentContext): Promise<HtmlGeneratedResponse>;
    getWebSitePageNode(entity: ObjectTree, pageName: string, ctx: CurrentContext): Promise<ObjectNode>;
    getPageHref(page: IObjectTree, site: ObjectTree, ctx: CurrentContext): string;
    getPopupHref(page: IObjectTree, site: ObjectTree, ctx: CurrentContext): string;
    getAdminHref(page: IObjectTree, site: ObjectTree, ctx: CurrentContext): string;
    getCachePageName(pageName?: string): string;
    getCachePopupName(pageName?: string): string;
    getFavicon(ctx: CurrentContext, siteName?: string): Promise<GeneratedResponse>;
    redirectToSiteMap(ctx: CurrentContext): Promise<GeneratedResponse>;
    getLoadingPageResponse(ctx: CurrentContext, lang?: string, siteName?: string): Promise<GeneratedResponse>;
    protected storeCachePage(pageName: string, ctx: CurrentContext, getCacheName?: (name: string) => string): Promise<void>;
    getWebSitePageResponse(lang: string, pageName: string, ctx: CurrentContext, siteName?: string): Promise<GeneratedResponse>;
    getWebSitePopupResponse(lang: string, pageName: string, ctx: CurrentContext, siteName?: string): Promise<GeneratedResponse>;
    previewWebSite(entity: ObjectTree, args: {
        0?: string;
        1?: string;
        2?: string;
    }, ctx: CurrentContext): Promise<GeneratedResponse>;
    getSiteMap(entity: ObjectTree, args: {
        0?: string;
        1?: string;
        2?: string;
    }, ctx: CurrentContext): Promise<GeneratedResponse>;
    getRobotTxt(entryPath: string, ctx: CurrentContext): Promise<TextGeneratedResponse>;
    private generateSiteMap;
}
