import "./image_gallery.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type DisplayFile } from "./file_thumbnail"; import { type StyleProps } from "./style_props"; export interface ImageGalleryProps extends StyleProps { images: DisplayFile[]; loading?: boolean; /** Shown when there are no images and not loading. Defaults to the locale's * `imageGallery.empty` ("No images." / "Chưa có ảnh."). */ emptyText?: string; /** Optional max width. Omit to fill the container. */ maxWidth?: number; /** "bottom" stacks thumbnails under the main image; "right" puts the main * image (~60% of the width) and the thumbnail grid side by side. */ thumbnailPosition?: "bottom" | "right"; /** Aspect ratio (width / height) of the main image box. Default 4/3. A * smaller value (e.g. 1) makes a taller, larger preview. */ mainAspectRatio?: number; /** Main image's fraction of the width in "right" mode (0–1). Default 0.6. */ mainFraction?: number; /** Show 90° rotate controls on images — inline and in the zoom modal. Default true. */ rotatable?: boolean; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } export declare function ImageGallery(props: ImageGalleryProps): React.ReactElement>;