import type { NewsroomRef } from '@prezly/sdk'; import type { GalleryLayout, GalleryNode, GalleryPadding } from '@prezly/slate-types'; import type { SlateEditor } from '@udecode/plate-common'; import React from 'react'; import type { RenderElementProps } from 'slate-react'; interface Props extends RenderElementProps { availableWidth: number; element: GalleryNode; onAdd?: (editor: SlateEditor, gallery: GalleryNode) => void; onAdded?: (editor: SlateEditor, gallery: GalleryNode, extra: { successfulUploads: number; failedUploads: Error[]; }) => void; onImageCaptionClicked?: (editor: SlateEditor) => void; onImageCropClicked?: (editor: SlateEditor) => void; onImageDeleteClicked?: (editor: SlateEditor) => void; onLayoutChanged?: (editor: SlateEditor, layout: GalleryLayout) => void; onPaddingChanged?: (editor: SlateEditor, padding: GalleryPadding) => void; onReordered?: (editor: SlateEditor, gallery: GalleryNode) => void; onShuffled?: (editor: SlateEditor, updated: GalleryNode, original: GalleryNode) => void; onThumbnailSizeChanged?: (editor: SlateEditor, thumbnail_size: GalleryNode['thumbnail_size']) => void; withMediaGalleryTab: false | { enabled: boolean; newsroom: NewsroomRef; }; withLayoutOptions: boolean; } export declare function GalleryElement({ availableWidth, attributes, children, element, onAdd, onAdded, onImageCaptionClicked, onImageCropClicked, onImageDeleteClicked, onLayoutChanged, onPaddingChanged, onReordered, onShuffled, onThumbnailSizeChanged, withMediaGalleryTab, withLayoutOptions, }: Props): React.JSX.Element; export {};