import { IJsonSchema, IObjectTree } from '@jacquesparis/objects-model';
import { AjaxResult, WebsiteGenerationService } from '@jacquesparis/objects-website';
import { GeneratedResponse } from '../../helper/generated-response';
import { ActionEntityService } from '../../services/action-entity/action-entity.service';
import { ObjectNodeService } from '../../services/object-node/object-node.service';
import { HtmlGeneratedResponse, JsonGeneratedResponse } from './../../helper/generated-response';
import { ObjectTree } from './../../models/object-tree.model';
import { CurrentContext } from './../../services/application.service';
import { MustacheService } from './../../services/entity-definition/mustache.service';
import { InsideRestService } from './../../services/inside-rest/inside-rest.service';
import { UriCompleteService } from './../../services/uri-complete/uri-complete.service';
import { Popup } from './web-site.interface';
import { WebSiteService } from './web-site.service';
export declare class ActionWebSiteService {
    protected actionEntityService: ActionEntityService;
    private objectNodeService;
    private uriCompleteService;
    private insideRestService;
    private mustacheService;
    private webSiteService;
    protected doc: {
        templatesMustache: {
            [templateId: string]: string;
        };
        templateMustache: string;
        headerScript: string;
        footerScript: string;
        templateAngular: string;
        scss: string;
        css: string;
        controller: string;
        refererConfig: IJsonSchema;
    };
    protected websiteGenerationService: WebsiteGenerationService;
    constructor(actionEntityService: ActionEntityService, objectNodeService: ObjectNodeService, uriCompleteService: UriCompleteService, insideRestService: InsideRestService, mustacheService: MustacheService, webSiteService: WebSiteService);
    popupWebSiteViewTree(entity: ObjectTree, args: {
        0?: string;
    }, ctx: CurrentContext): Promise<JsonGeneratedResponse<Popup>>;
    htmlWebSiteViewTree(entity: ObjectTree, args: {
        0?: string;
        1?: string;
        2?: string;
    }, ctx: CurrentContext): Promise<GeneratedResponse>;
    getHtmlDocResponseFromAjaxResult(response: GeneratedResponse): HtmlGeneratedResponse;
    getHtmlDocFromAjaxResult(response: GeneratedResponse): string;
    getPageHref(page: IObjectTree, site: ObjectTree, ctx: CurrentContext): string;
    getPopupHref(page: IObjectTree, site: ObjectTree, ctx: CurrentContext): string;
    getAdminHref(page: IObjectTree, site: ObjectTree, ctx: CurrentContext): string;
    getWebSiteAjaxResponse(webSiteTree: ObjectTree, getPageHref: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string, getAdminHref: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string, getPopupHref: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string, ctx: CurrentContext): Promise<JsonGeneratedResponse<AjaxResult>>;
    getWebSitePageAjaxResponse(webSiteTree: ObjectTree, pageNodeId: string, getPageHref: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string, getAdminHref: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string, getPopupHref: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string, ctx: CurrentContext): Promise<JsonGeneratedResponse<AjaxResult>>;
    ajaxWebSiteViewTree(entity: ObjectTree, args: {
        0?: string;
        1?: string;
        2?: string;
    }, ctx: CurrentContext, getPageHref?: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string, getAdminHref?: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string, getPopupHref?: (page: IObjectTree, site: ObjectTree, ctx: CurrentContext) => string): Promise<JsonGeneratedResponse<AjaxResult>>;
}
