import { ErrorReporter, ProviderFactory } from '@uidu/editor-common';
import { Schema } from 'prosemirror-model';
import { Plugin } from 'prosemirror-state';
import { Dispatch, EventDispatcher } from "../event-dispatcher/index.js";
import { DispatchAnalyticsEvent } from "../plugins/analytics/types/dispatch-analytics-event.js";
import { PortalProviderAPI } from "../ui/PortalProvider/index.js";
import { EditorConfig } from "./editor-config.js";
export declare type PMPluginFactoryParams = {
    schema: Schema;
    dispatch: Dispatch;
    eventDispatcher: EventDispatcher;
    providerFactory: ProviderFactory;
    errorReporter?: ErrorReporter;
    portalProviderAPI: PortalProviderAPI;
    reactContext: () => {
        [key: string]: any;
    };
    dispatchAnalyticsEvent: DispatchAnalyticsEvent;
};
export declare type PMPluginCreateConfig = PMPluginFactoryParams & {
    editorConfig: EditorConfig;
};
export declare type PMPluginFactory = (params: PMPluginFactoryParams) => Plugin | undefined;
export declare type PMPlugin = {
    name: string;
    plugin: PMPluginFactory;
};
