import 'viewerjs/dist/viewer.css';
import React from 'react';
import { HighlightProps } from "../highlight";
import { DripTableContext } from "../../../hooks";
declare type UppercaseLetter = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
declare type HTMLTagName = string;
declare type DOMEventType = keyof React.DOMAttributes<unknown> & `on${UppercaseLetter}${string}`;
interface RichTextProps {
    style?: React.CSSProperties;
    className?: string;
    onRef?: React.RefCallback<HTMLDivElement>;
    html: string;
    singleLine?: boolean;
    maxLength?: number;
    highlight?: Omit<HighlightProps, 'content' | 'tagName'>;
    tagNames?: HTMLTagName[];
    domEvents?: DOMEventType[];
}
/**
 * 高亮文本
 */
export default class RichText extends React.PureComponent<RichTextProps> {
    static contextType: React.Context<import("../../../hooks").IDripTableContext<import("../../..").DripTableRecordTypeWithSubtable<import("../../..").DripTableRecordTypeBase, never>, never>>;
    context: React.ContextType<typeof DripTableContext>;
    private viewer;
    /**
     * 迭代渲染一个节点
     *
     * @private
     * @param {ReducerRenderValue} prevVal 迭代器当前数据
     * @param {CheerioElement} el 节点原始数据
     * @param {number} key 节点唯一标识
     * @param {number} maxLength 最大剩余渲染文本长度
     * @returns {ReducerRenderValue} 迭代器当前数据
     *
     * @memberOf RichText
     */
    private reducerRenderEl;
    /**
     * 处理页面，绑定图片查看器
     *
     * @private
     * @param {HTMLDivElement} el 页面根节点
     * @returns {void}
     *
     * @memberOf RichText
     */
    private onRef;
    componentDidUpdate(): void;
    render(): JSX.Element | null;
}
export {};
