import { CreateUIAnalyticsEvent } from '@uidu/analytics';
import { ProviderFactory, Transformer } from '@uidu/editor-common';
import { EditorView } from 'prosemirror-view';
import * as React from 'react';
import { WrappedComponentProps } from 'react-intl';
import { EventDispatcher } from "../event-dispatcher/index.js";
import { DispatchAnalyticsEvent } from "../plugins/analytics/index.js";
import { EditorConfig, EditorProps } from "../types/index.js";
import { PortalProviderAPI } from "../ui/PortalProvider/index.js";
export declare type EditorViewProps = WrappedComponentProps & {
    editorProps: EditorProps;
    createAnalyticsEvent?: CreateUIAnalyticsEvent;
    providerFactory: ProviderFactory;
    portalProviderAPI: PortalProviderAPI;
    allowAnalyticsGASV3?: boolean;
    disabled?: boolean;
    render?: (props: {
        editor: JSX.Element;
        view?: EditorView;
        config: EditorConfig;
        eventDispatcher: EventDispatcher;
        transformer?: Transformer<string>;
        dispatchAnalyticsEvent: DispatchAnalyticsEvent;
    }) => JSX.Element;
    onEditorCreated: (instance: {
        view: EditorView;
        config: EditorConfig;
        eventDispatcher: EventDispatcher;
        transformer?: Transformer<string>;
    }) => void;
    onEditorDestroyed: (instance: {
        view: EditorView;
        config: EditorConfig;
        eventDispatcher: EventDispatcher;
        transformer?: Transformer<string>;
    }) => void;
};
declare const _default: React.FC<import("react-intl").WithIntlProps<WrappedComponentProps<"intl"> & {
    editorProps: EditorProps;
    createAnalyticsEvent?: CreateUIAnalyticsEvent;
    providerFactory: ProviderFactory;
    portalProviderAPI: PortalProviderAPI;
    allowAnalyticsGASV3?: boolean;
    disabled?: boolean;
    render?: (props: {
        editor: JSX.Element;
        view?: EditorView;
        config: EditorConfig;
        eventDispatcher: EventDispatcher<any>;
        transformer?: Transformer<string>;
        dispatchAnalyticsEvent: DispatchAnalyticsEvent;
    }) => JSX.Element;
    onEditorCreated: (instance: {
        view: EditorView;
        config: EditorConfig;
        eventDispatcher: EventDispatcher<any>;
        transformer?: Transformer<string>;
    }) => void;
    onEditorDestroyed: (instance: {
        view: EditorView;
        config: EditorConfig;
        eventDispatcher: EventDispatcher<any>;
        transformer?: Transformer<string>;
    }) => void;
}>> & {
    WrappedComponent: React.ComponentType<WrappedComponentProps<"intl"> & {
        editorProps: EditorProps;
        createAnalyticsEvent?: CreateUIAnalyticsEvent;
        providerFactory: ProviderFactory;
        portalProviderAPI: PortalProviderAPI;
        allowAnalyticsGASV3?: boolean;
        disabled?: boolean;
        render?: (props: {
            editor: JSX.Element;
            view?: EditorView;
            config: EditorConfig;
            eventDispatcher: EventDispatcher<any>;
            transformer?: Transformer<string>;
            dispatchAnalyticsEvent: DispatchAnalyticsEvent;
        }) => JSX.Element;
        onEditorCreated: (instance: {
            view: EditorView;
            config: EditorConfig;
            eventDispatcher: EventDispatcher<any>;
            transformer?: Transformer<string>;
        }) => void;
        onEditorDestroyed: (instance: {
            view: EditorView;
            config: EditorConfig;
            eventDispatcher: EventDispatcher<any>;
            transformer?: Transformer<string>;
        }) => void;
    }>;
};
export default _default;
