import { type EditorState } from 'prosemirror-state';
import type { ExtensionAuto } from "../../../core/index.js";
import { EventEmitter } from "../../../utils/event-emitter.js";
import type { RenderStorage, RenderStorageEventMap, RenderStorageItem, Renderer, RendererItem } from "./types.js";
export type { RendererItem, RenderStorage } from "./types.js";
export { Renderer as ReactRendererComponent } from "./react.js";
export type { RendererProps as ReactRendererComponentProps } from "./react.js";
export declare function getReactRendererFromState(state: EditorState): ReactRenderer;
export type ReactRenderer = Renderer<React.ReactNode>;
export declare const ReactRendererExtension: ExtensionAuto<ReactRenderer>;
declare global {
    namespace WysiwygEditor {
        interface Context {
            reactrenderer: ReactRenderer;
        }
    }
}
type RenderFn = () => React.ReactNode;
export declare class ReactRenderStorage extends EventEmitter<RenderStorageEventMap> implements ReactRenderer, RenderStorage<React.ReactNode> {
    #private;
    private static Item;
    getItems(): readonly RenderStorageItem<React.ReactNode>[];
    createItem(idPrefix: string, render: RenderFn): RendererItem;
    removeItem(item: RendererItem): void;
    removeItem(id: string): void;
}
