import React, { FC } from 'react';
import { RenderPlaceholderProps } from 'slate-react';
import { BlockType, MarkType } from './text-editor-constants';
import './text-editor-content.less';
export type ElementProps = {
    attributes: {
        [key: string]: string | boolean | number;
    };
    children: React.ReactNode;
    element: {
        type: BlockType;
        url: string;
    };
};
export declare const Element: ({ attributes, children, element }: ElementProps) => import("react/jsx-runtime").JSX.Element;
export type LeafProps = {
    attributes: {
        [key: string]: string | boolean | number;
    };
    children: React.ReactNode;
    leaf: {
        [key in MarkType]: boolean;
    };
};
export declare const Leaf: ({ attributes, children, leaf }: LeafProps) => import("react/jsx-runtime").JSX.Element;
export declare const Placeholder: ({ attributes, children, }: RenderPlaceholderProps) => import("react/jsx-runtime").JSX.Element;
export type TextEditorContentProps = {
    ariaAttrs?: object;
    testId?: string;
    placeholder?: string;
    readOnly?: boolean;
    autoFocus?: boolean;
    isScrollable?: boolean;
    elementRender?: FC<ElementProps>;
    leafRender?: FC<LeafProps>;
    onBlur?: () => void;
    onFocus?: () => void;
    maxLength?: number;
};
export default function TextEditorContent({ ariaAttrs, testId, placeholder, readOnly, autoFocus, isScrollable, elementRender, leafRender, onBlur, onFocus, maxLength, }: TextEditorContentProps): import("react/jsx-runtime").JSX.Element;
