import { Node as PMNode, Schema, Slice } from 'prosemirror-model'; import { NormalizedAllowedStyles } from './email-css'; import { EmailRenderDefaults } from './email-render'; /** Parses an HTML string into a document node, sanitizing by default. */ export declare function htmlToDoc(schema: Schema, html: string, sanitize?: boolean, options?: { emailFidelity?: boolean; allowedStyles?: NormalizedAllowedStyles; }): PMNode; /** Parses an HTML string into a slice suitable for replaceSelection. */ export declare function htmlToSlice(schema: Schema, html: string, sanitize?: boolean, options?: { emailFidelity?: boolean; allowedStyles?: NormalizedAllowedStyles; }): Slice; /** Serializes a document to HTML; `emailDefaults` writes the editor's table rendering into it. */ export declare function docToHtml(doc: PMNode, emailDefaults?: EmailRenderDefaults): string; /** Plain-text projection of the document (blocks joined by newlines). */ export declare function docToText(doc: PMNode): string; export declare function docToJson(doc: PMNode): Record; export declare function jsonToDoc(schema: Schema, json: Record): PMNode; /** Word and character counts over the document's text content. */ export declare function countWords(doc: PMNode): { words: number; characters: number; }; /** True when the document has no visible content. */ export declare function isDocEmpty(doc: PMNode): boolean;