import type { PageConfig, PageAssets } from './PageConfig.js'; import type { Page } from './index.js'; /** * Compiles a Vue page template into a JavaScript function returning render function * and saves it as a script file so that the browser can access to * generate VDOM during Vue mounting and conduct patching. * * This is to avoid the overhead of compiling the page into Vue application * on the client's browser (alleviates FOUC). It is also the pre-requisite to enable SSR. * See https://github.com/vuejs/core/blob/main/packages/compiler-core/src/options.ts for * compilerOptionTypes * * @param content Page content to be compiled into Vue app */ declare function compileVuePageCreateAndReturnScript(content: string, pageConfig: PageConfig, pageAsset: PageAssets): Promise; declare function requireFromString(src: string): any; /** * Renders Vue page app into html string (Vue SSR). * This function will install the MarkBindVue plugin and render the built Vue page content into html string. */ declare function renderVuePage(renderFn: string): Promise; declare function savePageRenderFnForHotReload(page: Page, pageNav: string, renderFn: string): void; /** * Retrieves the latest updated MarkBindVue bundle from webpack compiler watcher, * re-render all the built pages, and output the page html files. * This function will only be used in development mode (for MarkBindVue bundle hot-reloading purposes). */ declare function updateMarkBindVueBundle(newBundle: string): Promise; export declare const pageVueServerRenderer: { compileVuePageCreateAndReturnScript: typeof compileVuePageCreateAndReturnScript; renderVuePage: typeof renderVuePage; updateMarkBindVueBundle: typeof updateMarkBindVueBundle; savePageRenderFnForHotReload: typeof savePageRenderFnForHotReload; requireFromString: typeof requireFromString; }; export {}; //# sourceMappingURL=PageVueServerRenderer.d.ts.map