import type { ElementNode } from '@prezly/slate-types'; import { Alignment } from '@prezly/slate-types'; import type { ReactNode } from 'react'; import React from 'react'; import type { RenderElementProps } from 'slate-react'; import { type PopperOptionsContextType } from '../../modules/popper-options-context'; type SlateInternalAttributes = RenderElementProps['attributes']; export type OverlayMode = 'always' | 'autohide' | false; declare enum Layout { CONTAINED = "contained", EXPANDED = "expanded", FULL_WIDTH = "full-width" } export interface RenderProps { isSelected: boolean; isHovered: boolean; } export interface Props extends Omit, SlateInternalAttributes { align?: `${Alignment}`; border?: boolean; className?: string; element: ElementNode; /** * Expand hit area and visual focused area when element is selected. * Useful for extremely thin blocks like Divider. */ extendedHitArea?: boolean; /** * Mark the block having an error. */ hasError?: boolean; layout?: `${Layout}`; loading?: boolean; menuPlacement?: PopperOptionsContextType['placement']; overflow?: 'visible' | 'hidden' | 'auto'; overlay?: OverlayMode; renderAboveFrame?: ((props: RenderProps) => ReactNode) | ReactNode; renderBelowFrame?: ((props: RenderProps) => ReactNode) | ReactNode; renderEditableFrame?: (props: RenderProps) => ReactNode; renderReadOnlyFrame?: (props: RenderProps) => ReactNode; renderMenu?: (props: { onClose: () => void; updatePosition: () => void; }) => ReactNode; rounded?: boolean; selected?: boolean; void?: boolean; width?: string; } export declare const EditorBlock: React.ForwardRefExoticComponent & React.RefAttributes>; export declare function renderInjectionPoint

(value: ((props: P) => ReactNode) | ReactNode, props: P): ReactNode; export {};