import { ComponentType, ReactNode } from 'react'; import { HtmlPolicy, ParsedNode, sanitizeHtmlAttrs as sanitizeHtmlAttrsBase, tokenizeHtml as tokenizeHtmlBase } from 'stream-markdown-parser'; import { RenderContext, RenderNodeFn } from '../types'; export type { HtmlToken } from 'stream-markdown-parser'; type HtmlReactComponentMap = Record>; type HtmlReactPropComponentMap = Record>; type HtmlReactNodeComponentMap = Record>; interface HtmlToReactOptions { ctx?: RenderContext; keyPrefix?: string; nodeComponents?: HtmlReactNodeComponentMap; propComponents?: HtmlReactPropComponentMap; renderNode?: RenderNodeFn; sourceNode?: ParsedNode; } export declare function normalizeDomAttrs(attrs: Record): Record; export declare const tokenizeHtml: typeof tokenizeHtmlBase; export declare const sanitizeHtmlAttrs: typeof sanitizeHtmlAttrsBase; export declare function isCustomHtmlComponent(tagName: string, customComponents: HtmlReactComponentMap): boolean; export declare function hasCustomHtmlComponents(content: string, customComponents: HtmlReactComponentMap): boolean; export declare function parseHtmlToReactNodes(content: string, customComponents: HtmlReactComponentMap, htmlPolicy?: HtmlPolicy, options?: HtmlToReactOptions): ReactNode[] | null;