import React, { CSSProperties } from 'react';
import 'quill/dist/quill.snow.css';
import { FormAwareProps } from '@parlor/ui/form';
import { IBindingData } from './editor-bindings';
import { FormatOptionType } from './format-options-map';
import { PropertySelectorListProps } from './property-selector/property-selector-list';
import './quill-text-editor.module.scss';
export type WithContainer<T> = T & {
    container: HTMLElement;
};
export interface QuillTextEditorProps extends FormAwareProps {
    /**
     * custom attribute.
     */
    [key: string]: unknown;
    autoFocus: boolean;
    classes?: {
        container?: string;
        text?: string;
        wrapper?: string;
        wrapperContainer?: string;
    };
    /**
     * Whether to show toolbar in focus state and hide it in blur state or not.
     */
    conditionalToolbar?: boolean;
    /**
     * initial value for showing
     */
    description?: string;
    /**
     * select which editor type want to use.
     */
    editorType?: FormatOptionType;
    /**
     * give background container to text editor.
     */
    hasWrapper?: boolean;
    /**
     * give specific height to text editor.
     */
    height?: CSSProperties['height'];
    /**
     * Disable editors input
     */
    isDisabled?: boolean;
    /**
     * give limit to content.
     */
    max?: number | null;
    /**
     * Start to scroll from specific size.
     */
    maxHeight?: number | string;
    /**
     * Minimum height to content.
     */
    minHeight?: number | string;
    /**
     * Custom time for onChange's debounce.
     */
    ms?: number;
    /**
     * handle text input value.
     */
    onChange?: (innerHTML: string) => void;
    /**
     * handle delete action.
     */
    onDelete?: () => void;
    /**
     * on enter.
     */
    onEnter?: IBindingData['handler'];
    /**
     * handle save action.
     */
    onSave?: (content: string) => void;
    /**
     * give default text as placeholder.
     */
    placeholder?: string;
    /**
     * property selector props
     */
    propertySelectorProps?: PropertySelectorListProps;
    /**
     * Disable editors input
     */
    readOnly?: boolean;
    /**
     * Whether to show enter submit text or not.
     */
    toolbarContainerId?: string;
    withSubmitText?: boolean;
    /**
     *  default wrapper color.
     */
    wrapperColor?: string;
    /**
     * wrapper styles, use classes prop instead
     */
    wrapperStyles?: CSSProperties;
    /**
     * Give variation if hasWrapper is true.
     * In other case it's not useful.
     */
    wrapperVariation?: string;
}
/**  @deprecated use `LexicalEditor` instead */
export { TextEditor as QuillTextEditor } from '../text-editor';
export declare const OldQuillTextEditor: React.ForwardRefExoticComponent<Omit<QuillTextEditorProps, "ref"> & React.RefAttributes<unknown>>;
export declare const QuillTextEditorBase: React.ForwardRefExoticComponent<Omit<QuillTextEditorProps, "ref"> & React.RefAttributes<unknown>>;
export declare const QuillTextEditorEmpty: ({ name, rules, description, onChange: propsOnChange, ...otherProps }: QuillTextEditorProps) => JSX.Element;
