import { Color, StatusStyle } from '@uidu/status/element';
import { Node as PMNode } from 'prosemirror-model';
import { EditorView, NodeView } from 'prosemirror-view';
import React from 'react';
import { WrappedComponentProps } from 'react-intl';
import { EventDispatcher } from '../../../event-dispatcher';
import { getPosHandler, ReactNodeView } from '../../../nodeviews';
import { PortalProviderAPI } from '../../../ui/PortalProvider';
import { StatusPluginOptions } from '../types';
export declare const messages: {
    placeholder: {
        id: string;
        defaultMessage: string;
        description: string;
    };
};
export interface StyledStatusProps {
    placeholderStyle: boolean;
}
export declare const StyledStatus: import("styled-components").StyledComponent<"span", any, StyledStatusProps, never>;
export interface ContainerProps {
    view: EditorView;
    text?: string;
    color: Color;
    style?: StatusStyle;
    localId?: string;
    eventDispatcher?: EventDispatcher;
}
export declare const IntlStatusContainerView: React.FC<import("react-intl").WithIntlProps<ContainerProps & WrappedComponentProps<"intl">>> & {
    WrappedComponent: React.ComponentType<ContainerProps & WrappedComponentProps<"intl">>;
};
export interface Props {
    options?: StatusPluginOptions;
}
export declare class StatusNodeView extends ReactNodeView<Props> {
    createDomRef(): HTMLElement;
    setDomAttrs(node: PMNode, element: HTMLElement): void;
    render(props: Props): React.JSX.Element;
}
export default function statusNodeView(portalProviderAPI: PortalProviderAPI, options?: StatusPluginOptions): (node: PMNode, view: EditorView, getPos: getPosHandler) => NodeView;
