import { ReactNode } from 'react';
import { ReactQuillProps } from 'react-quill/lib';
import 'react-quill/dist/quill.snow.css';
import { Delta } from './quill';
import DataSet from '../data-set/DataSet';
import { ShowValidation } from '../form/enum';
import { FormField, FormFieldProps } from '../field/FormField';
import RichTextViewer from './RichTextViewer';
import { RichTextMode, RichTextToolbarType } from './enum';
export interface RichTextToolbarHookProps {
    id?: string;
    dataSet?: DataSet;
}
export declare type RichTextToolbarHook = (props: RichTextToolbarHookProps) => ReactNode;
export interface RichTextProps extends FormFieldProps {
    options?: ReactQuillProps;
    mode?: RichTextMode;
    toolbar?: RichTextToolbarType | RichTextToolbarHook;
    /**
     * 是否显示边框
     * @default true
     */
    border?: boolean;
    showValidation?: ShowValidation;
}
export default class RichText extends FormField<RichTextProps> {
    static displayName: string;
    static RichTextViewer: typeof RichTextViewer;
    static defaultProps: {
        suffixCls: string;
        autoFocus: boolean;
        mode: string;
        border: boolean;
        toolbar: RichTextToolbarType;
        readOnly: boolean;
        disabled: boolean;
        noValidate: boolean;
        trim: import("../data-set/enum").FieldTrim;
    };
    editor: any;
    focused: boolean;
    toolbarId: string;
    rtOptions: ReactQuillProps;
    getRichTextOptions(options?: ReactQuillProps): ReactQuillProps;
    get border(): boolean | undefined;
    showTooltip(e: any): boolean;
    getOmitPropsKeys(): string[];
    getOtherProps(): any;
    handleChange(value: Delta): void;
    elementReference(node: any): void;
    getWrapperClassNames(...args: any[]): string;
    componentWillReceiveProps(nextProps: any, nextContext: any): void;
    handleRichTextBlur(props: any): void;
    handleRichTextFocus(props: any): void;
    renderWrapper(): ReactNode;
}
