export declare function createWindowFromHtml(templateHtml: string, uniqueId: string): any;
export interface Diagnostic {
level: 'error' | 'warn' | 'info' | 'log' | 'debug';
type: string;
header?: string;
language?: string;
messageText: string;
debugText?: string;
code?: string;
absFilePath?: string;
relFilePath?: string;
lineNumber?: number;
columnNumber?: number;
lines?: {
lineIndex: number;
lineNumber: number;
text?: string;
errorCharStart: number;
errorLength?: number;
}[];
}
export interface HydrateDocumentOptions {
canonicalUrl?: string;
constrainTimeouts?: boolean;
clientHydrateAnnotations?: boolean;
cookie?: string;
direction?: string;
excludeComponents?: string[];
language?: string;
maxHydrateCount?: number;
referrer?: string;
removeScripts?: boolean;
removeUnusedStyles?: boolean;
resourcesUrl?: string;
timeout?: number;
title?: string;
url?: string;
userAgent?: string;
}
export interface SerializeDocumentOptions extends HydrateDocumentOptions {
afterHydrate?(document: any): any | Promise;
approximateLineWidth?: number;
beforeHydrate?(document: any): any | Promise;
prettyHtml?: boolean;
removeAttributeQuotes?: boolean;
removeBooleanAttributeQuotes?: boolean;
removeEmptyAttributes?: boolean;
removeHtmlComments?: boolean;
}
export interface HydrateFactoryOptions extends SerializeDocumentOptions {
serializeToHtml: boolean;
destroyWindow: boolean;
destroyDocument: boolean;
}
export interface HydrateResults {
diagnostics: Diagnostic[];
url: string;
host: string;
hostname: string;
href: string;
port: string;
pathname: string;
search: string;
hash: string;
html: string;
components: HydrateComponent[];
anchors: HydrateAnchorElement[];
styles: HydrateStyleElement[];
scripts: HydrateScriptElement[];
imgs: HydrateImgElement[];
title: string;
hydratedCount: number;
httpStatus: number;
}
export interface HydrateComponent {
tag: string;
mode: string;
count: number;
depth: number;
}
export interface HydrateElement {
[attrName: string]: string | undefined;
}
export interface HydrateAnchorElement extends HydrateElement {
href?: string;
target?: string;
}
export interface HydrateStyleElement extends HydrateElement {
href?: string;
}
export interface HydrateScriptElement extends HydrateElement {
src?: string;
type?: string;
}
export interface HydrateImgElement extends HydrateElement {
src?: string;
}
export declare function renderToString(html: string | any, options?: SerializeDocumentOptions): Promise;
export declare function hydrateDocument(doc: any | string, options?: HydrateDocumentOptions): Promise;
export declare function serializeDocumentToString(doc: any, opts: HydrateFactoryOptions): string;
export {};