/// import { Logger } from 'typescript-log'; import { PromiseTracker } from '../../universal'; import { CreateAppElement } from './render-app-to-string'; import { WatchtowerEvents } from './render-events'; import * as ServerRenderResults from './server-render-results'; export { PromiseTracker }; export interface RenderOptions { log: Logger; errorLocation: string; pageNotFoundLocation: string; appRender: CreateAppElement; events?: WatchtowerEvents; renderFn: (element: React.ReactElement) => RenderResult; } export interface ServerSideRenderOptions extends RenderOptions { ssrTimeoutMs: number; /** Used when the request url is re-written to reset the SSR request state */ resetRequest: (location: string) => Promise; } export interface PageTag { /** The html tag to insert into the rendered html */ tag: string; } export interface PageTags { head: PageTag[]; preBody: PageTag[]; body: PageTag[]; } export declare function renderPageContents(ssrRequestProps: SSRRequestProps, options: ServerSideRenderOptions, location: string, promiseTracker: PromiseTracker): Promise>;