import React from 'react';
import type { Mark as PMMark, Node as PMNode } from '@atlaskit/editor-prosemirror/model';
import type { RendererContext, ExtensionViewportSize } from '../types';
import type { Serializer } from '../../serializer';
import type { ExtensionLayout } from '@atlaskit/adf-schema';
import type { ExtensionHandlers, ExtensionParams, Parameters } from '@atlaskit/editor-common/extensions';
import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
import type { RendererAppearance } from '../../ui/Renderer/types';
import type { AnalyticsEventPayload } from '../../analytics/events';
interface Props {
    content?: any;
    extensionHandlers?: ExtensionHandlers;
    extensionKey: string;
    extensionType: string;
    extensionViewportSizes?: ExtensionViewportSize[];
    fireAnalyticsEvent?: (event: AnalyticsEventPayload) => void;
    layout?: ExtensionLayout;
    localId?: string;
    marks?: PMMark[];
    originalContent?: any;
    parameters?: any;
    path?: PMNode[];
    providers: ProviderFactory;
    rendererAppearance?: RendererAppearance;
    rendererContext: RendererContext;
    serializer: Serializer<any>;
    shouldDisplayExtensionAsInline?: (extensionParams?: ExtensionParams<Parameters>) => boolean;
    startPos: number;
}
declare const BodiedExtension: (props: React.PropsWithChildren<Props>) => React.JSX.Element;
export default BodiedExtension;
