export declare function removeTags(str?: string): string; /** * Sanitizes HTML to prevent broken tags while preserving valid HTML * Handles cases like "problem" by selectively escaping characters * @param html The HTML string to sanitize * @returns Sanitized HTML string */ export interface StyledSegment { text: string; bold?: boolean; italic?: boolean; color?: string; underline?: boolean; strike?: boolean; fontFamily?: string; fontSize?: number; } /** * Whether a text element's `text` is markup or a literal string. Entities count * as HTML too: the DOM parse is what decodes &/</… — plain text * containing entities must not skip it. * * Exported because html-export has to ask the SAME question: it is the one * exporter that hands this string to a browser, so text this says is literal * must be escaped on the way out, and text this says is markup must not be * (escaping `&` again renders `&`). A second spelling of the rule there * double-escaped exactly the entity-only case. */ export declare const looksLikeHtml: (text: string) => boolean; export type ListType = 'bullet' | 'ordered'; export interface ParsedParagraph { segments: StyledSegment[]; /** Set when the paragraph is a list item. */ list?: ListType; /** Nesting level for list items (0 = top level). */ indentLevel?: number; /** True on the first item of each