///
//@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;