import { default as React, FC } from 'react';
export interface Props {
    children: TagMap;
    html: string;
    acceptUnknown?: boolean;
}
export type TagMap = {
    [tag in keyof Partial<React.JSX.IntrinsicElements>]: FC<React.JSX.IntrinsicElements[tag]> | null;
};
declare const HtmlMapper: FC<Props>;
export default HtmlMapper;
/**
 * Sanitize and encode all HTML in a user-submitted string, returning React nodes.
 * https://portswigger.net/web-security/cross-site-scripting/preventing
 * @param  {String} str  The user-submitted string
 * @return {{ children: ReactNode }}  The sanitized content as React nodes
 */
export declare const sanitizeHTMLToReactNode: (str: string | []) => {
    children: any;
};
/**
 * sanitizeHtml - Options
 */
export interface SanitizeHtmlOptions {
    allowedTags?: string[];
    allowedAttributes?: Record<string, string[]>;
    allowedClasses?: string[];
}
/**
 * Sanitize HTML string by stripping dangerous tags, attributes, and URL schemes.
 * @param dirty - The untrusted HTML string
 * @param options - Optional configuration for allowed tags and attributes
 * @returns A sanitized HTML string
 */
export declare function sanitizeHtml(dirty: string, options?: SanitizeHtmlOptions): string;
