import type { CSSProperties, HTMLAttributes, IframeHTMLAttributes, ImgHTMLAttributes, MouseEvent } from 'react'; import { type CssLength } from '../../../utils/css'; type VideoGalleryLabel = string | ((item: VideoGalleryItem) => string); type NativeIframeProps = Omit, 'children' | 'className' | 'height' | 'src' | 'style' | 'title' | 'width'>; export type VideoGalleryTileLayout = { column?: number; row?: number; columns?: number; rows?: number; }; export type VideoGalleryItem = { id: string; embedSrc: string; thumbnailSrc: string; title?: string; thumbnailAlt?: string; iframeTitle?: string; objectPosition?: CSSProperties['objectPosition']; loading?: ImgHTMLAttributes['loading']; fetchPriority?: ImgHTMLAttributes['fetchPriority']; iframeProps?: NativeIframeProps; disabled?: boolean; }; export type VideoGalleryProps = Omit, 'children' | 'onSelect'> & { items: readonly VideoGalleryItem[]; selectedId?: string | null; defaultSelectedId?: string | null; onSelectedIdChange?: (selectedId: string | null) => void; onItemSelect?: (item: VideoGalleryItem, event: MouseEvent) => void; ariaLabel?: string; selectLabel?: VideoGalleryLabel; tileLayout?: readonly VideoGalleryTileLayout[]; tileWidth?: CssLength; tileHeight?: CssLength; gap?: CssLength; height?: CssLength; perspective?: CssLength; angle?: string; autoPlaySelected?: boolean; showReflection?: boolean; variant?: 'immersive' | 'plain'; iframeProps?: NativeIframeProps; galleryClassName?: string; itemClassName?: string; thumbnailClassName?: string; iframeClassName?: string; }; export declare const VideoGallery: ({ items, selectedId, defaultSelectedId, onSelectedIdChange, onItemSelect, ariaLabel, selectLabel, tileLayout, tileWidth, tileHeight, gap, height, perspective, angle, autoPlaySelected, showReflection, variant, iframeProps, className, galleryClassName, itemClassName, thumbnailClassName, iframeClassName, style, ...rootProps }: VideoGalleryProps) => import("react/jsx-runtime").JSX.Element; export {};