import React from 'react';
import type { Node as PmNode } from '@atlaskit/editor-prosemirror/model';
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
import type { ExtensionProvider, ReferenceEntity } from '../../../extensions';
import type { ProsemirrorGetPosHandler } from '../../../react-node-view';
import type { EditorAppearance } from '../../../types';
import type { OverflowShadowProps, OverflowShadowState, ShadowObserver } from '../../../ui';
import type { ExtensionsPluginInjectionAPI, MacroInteractionDesignFeatureFlags } from '../../types';
export interface Props {
    children?: React.ReactNode;
    editorAppearance?: EditorAppearance;
    extensionProvider?: ExtensionProvider;
    getPos: ProsemirrorGetPosHandler;
    handleContentDOMRef: (node: HTMLElement | null) => void;
    hideFrame?: boolean;
    isLivePageViewMode?: boolean;
    isNodeHovered?: boolean;
    isNodeNested?: boolean;
    isNodeSelected?: boolean;
    macroInteractionDesignFeatureFlags?: MacroInteractionDesignFeatureFlags;
    node: PmNode;
    pluginInjectionApi: ExtensionsPluginInjectionAPI;
    references?: ReferenceEntity[];
    setIsNodeHovered?: (isHovered: boolean) => void;
    setShowBodiedExtensionRendererView?: (showBodiedExtensionRendererView: boolean) => void;
    showBodiedExtensionRendererView?: boolean;
    showLivePagesBodiedMacrosRendererView?: boolean;
    showUpdatedLivePages1PBodiedExtensionUI?: boolean;
    view: EditorView;
}
declare const _default_1: {
    new (props: Props & OverflowShadowProps): {
        calcOverflowDiff: () => number;
        calcScrollableWidth: () => number;
        componentDidCatch?: (error: Error, errorInfo: React.ErrorInfo) => void;
        componentDidMount?: () => void;
        componentDidUpdate: () => void;
        componentWillMount?: () => void;
        componentWillReceiveProps?: (nextProps: Readonly<Props & OverflowShadowProps>, nextContext: any) => void;
        componentWillUnmount: () => void;
        componentWillUpdate?: (nextProps: Readonly<Props & OverflowShadowProps>, nextState: Readonly<OverflowShadowState>, nextContext: any) => void;
        container?: HTMLElement;
        context: unknown;
        diff?: number;
        forceUpdate: (callback?: (() => void) | undefined) => void;
        getSnapshotBeforeUpdate?: (prevProps: Readonly<Props & OverflowShadowProps>, prevState: Readonly<OverflowShadowState>) => any;
        handleContainer: (container: HTMLElement | null) => void;
        handleScroll: (event: Event) => void;
        initShadowObserver: () => void;
        overflowContainer?: HTMLElement | null;
        overflowContainerWidth: number;
        readonly props: Readonly<Props & OverflowShadowProps>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        render: () => React.JSX.Element;
        scrollable?: NodeList;
        setState: <K extends keyof OverflowShadowState>(state: OverflowShadowState | ((prevState: Readonly<OverflowShadowState>, props: Readonly<Props & OverflowShadowProps>) => OverflowShadowState | Pick<OverflowShadowState, K> | null) | Pick<OverflowShadowState, K> | null, callback?: (() => void) | undefined) => void;
        shadowObserver?: ShadowObserver;
        shouldComponentUpdate?: (nextProps: Readonly<Props & OverflowShadowProps>, nextState: Readonly<OverflowShadowState>, nextContext: any) => boolean;
        showLeftShadow: (overflowContainer: HTMLElement | null | undefined) => boolean;
        state: {
            showLeftShadow: boolean;
            showRightShadow: boolean;
        };
        UNSAFE_componentWillMount?: () => void;
        UNSAFE_componentWillReceiveProps?: (nextProps: Readonly<Props & OverflowShadowProps>, nextContext: any) => void;
        UNSAFE_componentWillUpdate?: (nextProps: Readonly<Props & OverflowShadowProps>, nextState: Readonly<OverflowShadowState>, nextContext: any) => void;
        updateShadows: () => void;
    };
    new (props: Props & OverflowShadowProps, context: any): {
        calcOverflowDiff: () => number;
        calcScrollableWidth: () => number;
        componentDidCatch?: (error: Error, errorInfo: React.ErrorInfo) => void;
        componentDidMount?: () => void;
        componentDidUpdate: () => void;
        componentWillMount?: () => void;
        componentWillReceiveProps?: (nextProps: Readonly<Props & OverflowShadowProps>, nextContext: any) => void;
        componentWillUnmount: () => void;
        componentWillUpdate?: (nextProps: Readonly<Props & OverflowShadowProps>, nextState: Readonly<OverflowShadowState>, nextContext: any) => void;
        container?: HTMLElement;
        context: unknown;
        diff?: number;
        forceUpdate: (callback?: (() => void) | undefined) => void;
        getSnapshotBeforeUpdate?: (prevProps: Readonly<Props & OverflowShadowProps>, prevState: Readonly<OverflowShadowState>) => any;
        handleContainer: (container: HTMLElement | null) => void;
        handleScroll: (event: Event) => void;
        initShadowObserver: () => void;
        overflowContainer?: HTMLElement | null;
        overflowContainerWidth: number;
        readonly props: Readonly<Props & OverflowShadowProps>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        render: () => React.JSX.Element;
        scrollable?: NodeList;
        setState: <K extends keyof OverflowShadowState>(state: OverflowShadowState | ((prevState: Readonly<OverflowShadowState>, props: Readonly<Props & OverflowShadowProps>) => OverflowShadowState | Pick<OverflowShadowState, K> | null) | Pick<OverflowShadowState, K> | null, callback?: (() => void) | undefined) => void;
        shadowObserver?: ShadowObserver;
        shouldComponentUpdate?: (nextProps: Readonly<Props & OverflowShadowProps>, nextState: Readonly<OverflowShadowState>, nextContext: any) => boolean;
        showLeftShadow: (overflowContainer: HTMLElement | null | undefined) => boolean;
        state: {
            showLeftShadow: boolean;
            showRightShadow: boolean;
        };
        UNSAFE_componentWillMount?: () => void;
        UNSAFE_componentWillReceiveProps?: (nextProps: Readonly<Props & OverflowShadowProps>, nextContext: any) => void;
        UNSAFE_componentWillUpdate?: (nextProps: Readonly<Props & OverflowShadowProps>, nextState: Readonly<OverflowShadowState>, nextContext: any) => void;
        updateShadows: () => void;
    };
    contextType?: React.Context<any> | undefined;
};
export default _default_1;
