import type { EditableNodeAttributes } from "../types"; import { type ResponsiveLength } from "../utils/responsivePresentation"; import { type StudioImageSource } from "./StudioImage"; interface GalleryImage { src: StudioImageSource; alt?: string; category?: string; } interface GalleryProps extends EditableNodeAttributes { /** When set, fetches live media through Elise's authenticated property API. */ propertyId?: string; /** Static images from content (fallback when propertyId is not set). */ images?: GalleryImage[]; categories?: string[]; /** Filters show one category; sections render every group in authored order. */ grouping?: "filters" | "sections"; layout?: "grid" | "carousel" | "thumbnail-carousel"; /** Thumbnail carousel arrows and active border; defaults to the primary theme color. */ carouselAccentColor?: string; columns?: 2 | 3 | 4; idPrefix?: string; tileHeight?: string; responsiveTileHeight?: ResponsiveLength; columnGap?: string; responsiveColumnGap?: ResponsiveLength; rowGap?: string; responsiveRowGap?: ResponsiveLength; sectionGap?: string; responsiveSectionGap?: ResponsiveLength; headingSize?: string; responsiveHeadingSize?: ResponsiveLength; headingLineHeight?: string; headingGap?: string; responsiveHeadingGap?: ResponsiveLength; headingLevel?: 2 | 3 | 4 | 5 | 6; headingColor?: string; edgeBleed?: string; responsiveEdgeBleed?: ResponsiveLength; tileRadius?: "none" | "sm" | "md" | "lg" | "full"; tileFit?: "cover" | "contain"; lightboxLoop?: boolean; lightboxCaptions?: boolean; lightboxCounter?: boolean; lightboxThumbnails?: boolean; lightboxFullscreen?: boolean; lightboxSlideshow?: boolean; lightboxSlideshowInterval?: number; lightboxControlHideDelay?: number; lightboxViewportPadding?: string; className?: string; } export declare function Gallery({ propertyId: propertyIdProp, images: staticImages, categories, grouping, layout, carouselAccentColor, columns, idPrefix, tileHeight, responsiveTileHeight, columnGap, responsiveColumnGap, rowGap, responsiveRowGap, sectionGap, responsiveSectionGap, headingSize, responsiveHeadingSize, headingLineHeight, headingGap, responsiveHeadingGap, headingLevel, headingColor, edgeBleed, responsiveEdgeBleed, tileRadius, tileFit, lightboxLoop, lightboxCaptions, lightboxCounter, lightboxThumbnails, lightboxFullscreen, lightboxSlideshow, lightboxSlideshowInterval, lightboxControlHideDelay, lightboxViewportPadding, className, "data-node-id": dataNodeId, }: GalleryProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=Gallery.d.ts.map