///
import * as React from "react";
import { HelmetData } from "react-helmet";
export declare class InitialStateScript extends React.Component<{
initialState: any;
}, {}> {
render(): JSX.Element;
}
export interface IHtmlOptions {
/** return a head component with children you want injected into the head */
renderHeadInjection?(): React.ReactElement;
/** return a head component with children you want injected into the body start (immediately after the body start tag) */
renderBodyStartInjection?(): React.ReactElement;
/** return a head component with children you want injected into the body start (immediately before the body end tag) */
renderBodyEndInjection?(): React.ReactElement;
/** get the script (string) required to load google tag manager */
getGoogleTagManagerScript?(tagId: string): string;
}
export interface IHtml {
/** The script bundle to load */
scriptBundle?: string | string[];
/** The redux store initial state */
initialState?: any;
/** The pre-rendered SPA content */
html?: string;
/** The Helmet data required to render the page */
head?: HelmetData;
/** the google tag manager body tag */
googleTagIdBody?: string;
/** the google tag manager head tag */
googleTagIdHead?: string;
/** Defaults to "en" */
lang?: string;
/** Defaults to "UTF-8" */
charSet?: string;
/** Html rendering options*/
options?: IHtmlOptions;
}
/**
The base HTML page rendered ONLY from the server
*/
export declare class Html extends React.Component {
static defaultProps: {
lang: string;
charSet: string;
};
render(): JSX.Element;
private renderChildren(element);
protected renderGoogleTagManagerScript(tagId?: string): JSX.Element;
/** get the script (string) required to load google tag manager */
private static getDefaultGoogleTagManagerScript(tagId);
}