import { EditorState, Transaction } from 'prosemirror-state';
import { ToolbarUIComponentFactory } from "../ui/Toolbar/types.js";
import { MarkConfig, NodeConfig } from "./pm-config.js";
import { PMPlugin } from "./pm-plugin.js";
import { UIComponentFactory } from "./ui-components.js";
declare type EditorViewStateUpdatedCallbackProps = {
    readonly transaction: Readonly<Transaction>;
    readonly oldEditorState: Readonly<EditorState>;
    readonly newEditorState: Readonly<EditorState>;
};
export interface EditorConfig {
    nodes: NodeConfig[];
    marks: MarkConfig[];
    pmPlugins: Array<PMPlugin>;
    contentComponents: UIComponentFactory[];
    primaryToolbarComponents: ToolbarUIComponentFactory[];
    secondaryToolbarComponents: UIComponentFactory[];
    onEditorViewStateUpdatedCallbacks: Array<{
        pluginName: string;
        callback: (props: EditorViewStateUpdatedCallbackProps) => void;
    }>;
}
export {};
