import { ProviderFactory } from '@uidu/editor-common';
import { Node as PMNode } from 'prosemirror-model';
import { EditorView, NodeView } from 'prosemirror-view';
import * as React from 'react';
import { getPosHandler } from '../../../nodeviews';
import { PortalProviderAPI } from '../../../ui/PortalProvider';
export interface Props {
    children?: React.ReactNode;
    view: EditorView;
    node: PMNode;
}
export declare type MediaGroupProps = {
    forwardRef?: (ref: HTMLElement) => void;
    node: PMNode;
    view: EditorView;
    getPos: getPosHandler;
    selected: number | null;
    disabled?: boolean;
};
export interface MediaGroupState {
    viewMediaClientConfig?: any;
}
export default class MediaGroup extends React.Component<MediaGroupProps, MediaGroupState> {
    private mediaPluginState;
    private mediaNodes;
    state: MediaGroupState;
    constructor(props: MediaGroupProps);
    componentDidMount(): void;
    UNSAFE_componentWillReceiveProps(props: MediaGroupProps): void;
    shouldComponentUpdate(nextProps: MediaGroupProps): boolean;
    updateMediaContext(): void;
    setMediaItems: (props: MediaGroupProps) => void;
    renderChildNodes: () => React.JSX.Element;
    render(): React.JSX.Element;
}
export declare const ReactMediaGroupNode: (portalProviderAPI: PortalProviderAPI, providerFactory: ProviderFactory, allowLazyLoading?: boolean, isCopyPasteEnabled?: boolean) => (node: PMNode, view: EditorView, getPos: getPosHandler) => NodeView;
