/// //@ts-ignore import React, { Component } from 'react'; import { ImageGalleryDropdownProps, ImageGalleryDropdownState } from './types'; /** * Dropdown component that renders preset images. This version removes duplicates, * normalizes inline SVG data-URIs (reducing encoding artifacts) and performs * robust image loading with fallbacks. */ export declare class ImageGalleryDropdown extends Component { private dropdownRef; private imageCache; constructor(props: ImageGalleryDropdownProps); componentDidMount(): void; componentDidUpdate(prevProps: ImageGalleryDropdownProps): void; /** * Normalize data-URLs for SVGs and simple minification to eliminate encoding * differences which often lead to duplicate-looking assets. */ private normalizeUrl; /** * Loads and caches preset images from the provided configuration while removing duplicates. */ private loadImageGallery; /** * Load an image element. Uses cached HTMLImageElement when available. */ private loadImage; /** * Generate a human-friendly label from URL or data-URI. */ private getLabelFromUrl; /** * Handle user selecting a preset image. */ private handleImageSelect; /** * Handle requesting a custom image from user. */ handleCustomImageSelect: () => Promise; /** * Build dropdown items grouped by category. Keeps ordering from config and * shows category headers only when multiple categories present. */ private renderDropdownItems; /** * Render a single item - image with click action and accessible label. */ private renderImageItem; /** * Button content shows selected image preview or a default icon. */ private renderButtonContent; get viewer(): import("../../..").IImageViewer; get in17n(): import("i18next").i18n; render(): React.JSX.Element; } export default ImageGalleryDropdown;