import type { CSSProperties } from "react";
import React from "react";
interface PresentedImage {
    title?: string;
    caption?: string;
    alt?: string;
    url: string;
}
interface RequestCloseOptions {
    lastPosition: number;
}
interface LightBoxProps {
    /**
     * Specify if the Lightbox is open or closed.
     */
    readonly open: boolean;
    /**
     * Images is an array of objects defining a LightBox image. This object consists of
     * `title`, `caption`, `alt` and `url`. `title`, `alt` and `caption` are optional, `url` is
     * required, for each image.
     */
    readonly images: PresentedImage[];
    /**
     * Use this to specify which image in `images` to initialize the lightbox with.
     * This is useful when you have a collection of thumbnails as you only need one
     * collection of image urls, order doesn't matter.
     */
    readonly imageIndex?: number;
    /**
     * This function must set open to false in order to close the lightbox. Note there
     * is a 300ms easing animation on lightbox close that occurs before this function
     * is called.
     * This function receives an object as an argument with the key `lastPosition`
     * that has the index of the image the user was on when LightBox was closed.
     */
    onRequestClose(options: RequestCloseOptions): void;
    /**
     * Sets the box-sizing for the thumbnails in the lightbox. This is a solution for a problem where
     * tailwind was setting the box-sizing to `border-box` and causing issues with the lightbox.
     * @default "content-box"
     */
    readonly boxSizing?: CSSProperties["boxSizing"];
}
export declare function LightBox({ boxSizing, open, images, imageIndex, onRequestClose, }: LightBoxProps): React.JSX.Element;
export {};
