///
import { IncomingMessage, ServerResponse } from 'http';
import { Genesis } from './';
export declare class Renderer {
ssr: Genesis.SSR;
clientManifest: Genesis.ClientManifest;
private renderer;
/**
* Render template functions
*/
private compile;
private _createApp;
constructor(ssr: Genesis.SSR);
/**
* Reload the renderer
*/
reload(): void;
/**
* Render JSON
*/
renderJson(options?: Genesis.RenderOptions): Promise;
/**
* Render HTML
*/
renderHtml(options?: Genesis.RenderOptions): Promise;
/**
* General basic rendering function
*/
render(options?: Genesis.RenderOptions): Promise>;
/**
* Rendering Middleware
*/
renderMiddleware(req: IncomingMessage, res: ServerResponse, next: (err: any) => void): Promise;
private _createContext;
private _renderJson;
/**
* Render HTML
*/
private _renderHtml;
/**
* Static file public path
*/
get staticPublicPath(): string;
/**
* Static file directory
*/
get staticDir(): any;
/**
* The server renders a JSON
*/
private _ssrToJson;
/**
* The server renders a HTML
*/
private _ssrToString;
/**
* The client renders a JSON
*/
private _csrToJson;
/**
* The client renders a HTML
*/
private _csrToString;
private _styleTagExtractCSS;
private _load;
}
export declare function styleTagExtractCSS(value: string): {
cssRules: string;
value: string;
};