import React from "react"; import type { LightBoxNavigationProps, LightBoxProps } from "./LightBox.types"; import { LightBoxProvider } from "./LightBoxContext"; export declare function LightBoxContent(): React.JSX.Element; /** * Blurred, desaturated copy of the current image rendered as a full-bleed * background behind the lightbox. Pass `className` to apply additional styles. */ declare function LightBoxBackground({ className }: { readonly className?: string; }): React.JSX.Element; /** * Semi-transparent blur backdrop. Clicking it calls `onRequestClose`. * Pass `className` to apply additional styles. */ declare function LightBoxOverlay({ className }: { readonly className?: string; }): React.JSX.Element; /** * Top bar showing the current image counter (`1/3`) and a close button. * Styled for dark backgrounds. */ declare function LightBoxToolbar(): React.JSX.Element; /** * The animated hero image with swipe-to-navigate and slide animation. * * Pass `className` to add styles to the image wrapper. Supports * swipe-to-navigate (drag). Keyboard arrow navigation is handled by * `LightBox.Provider`. * * @example * ```tsx * * * ``` */ declare function LightBoxSlides({ className }: { readonly className?: string; }): React.JSX.Element; /** * Previous and next navigation buttons. Returns `null` when the image set * has only one image. * * Use `prevButtonClassName` and `nextButtonClassName` to override the styles * on each button's wrapper for custom layouts. * * @example * ```tsx * * ``` */ declare function LightBoxNavigation({ prevButtonClassName, nextButtonClassName, }: LightBoxNavigationProps): React.JSX.Element | null; /** * Title and caption text for the current image. Only renders when the current * image has a `title` or `caption`. Styled for dark backgrounds. */ declare function LightBoxCaption(): React.JSX.Element | null; /** * Scrollable thumbnail strip. Only renders when there are two or more images. */ declare function LightBoxThumbnails(): React.JSX.Element | null; /** * LightBox displays images in a fullscreen overlay. * * **Self-contained (legacy) usage:** * ```tsx * { setIsOpen(false); }} * /> * ``` * * **Full composable (fullscreen) usage:** * ```tsx * * * * ``` * * **Inline gallery usage (no overlay, no close):** * ```tsx * *
* * * * *
*
* ``` */ declare function LightBox(props: LightBoxProps): React.JSX.Element; declare namespace LightBox { var Provider: typeof LightBoxProvider; var Content: typeof LightBoxContent; var Background: typeof LightBoxBackground; var Overlay: typeof LightBoxOverlay; var Toolbar: typeof LightBoxToolbar; var Slides: typeof LightBoxSlides; var Navigation: typeof LightBoxNavigation; var Caption: typeof LightBoxCaption; var Thumbnails: typeof LightBoxThumbnails; } export { LightBox };