/// <reference types="react" />
import { ExtensionHandlers, ProviderFactory } from '@uidu/editor-common';
import { EditorView } from 'prosemirror-view';
import EditorActions from "../actions/index.js";
import { EventDispatcher } from "../event-dispatcher/index.js";
import { DispatchAnalyticsEvent } from "../plugins/analytics/index.js";
import { CollabEditOptions } from "../plugins/collab-edit/types.js";
import { ReactComponents } from "./editor-props.js";
import { UIComponentFactory } from "./ui-components.js";
import { MenuItem } from "../ui/DropdownMenu/types.js";
import { ToolbarUIComponentFactory } from "../ui/Toolbar/types.js";
import { EditorAppearance } from "./editor-appearance.js";
export interface EditorAppearanceComponentProps {
    appearance?: EditorAppearance;
    onSave?: (editorView: EditorView) => void;
    onCancel?: (editorView: EditorView) => void;
    providerFactory: ProviderFactory;
    editorActions?: EditorActions;
    editorDOMElement: JSX.Element;
    editorView?: EditorView;
    eventDispatcher?: EventDispatcher;
    dispatchAnalyticsEvent?: DispatchAnalyticsEvent;
    maxHeight?: number;
    contentComponents?: UIComponentFactory[];
    primaryToolbarComponents?: ToolbarUIComponentFactory[];
    secondaryToolbarComponents?: UIComponentFactory[];
    customContentComponents?: ReactComponents;
    customPrimaryToolbarComponents?: ReactComponents;
    customSecondaryToolbarComponents?: ReactComponents;
    insertMenuItems?: MenuItem[];
    contextPanel?: ReactComponents;
    popupsMountPoint?: HTMLElement;
    popupsBoundariesElement?: HTMLElement;
    popupsScrollableElement?: HTMLElement;
    extensionHandlers?: ExtensionHandlers;
    disabled?: boolean;
    collabEdit?: CollabEditOptions;
    allowAnnotation?: boolean;
}
