import React, { type PropsWithChildren, type RefObject } from "react"; import type { LightboxVerticalAlignment, MQ } from "src/types"; import { type PortalProps } from "../Portal/Portal"; export type LightboxProps = React.HTMLAttributes & { children?: React.ReactNode[] | React.ReactNode; backdropRef?: RefObject; handleClose?: () => void; isDismissible?: boolean; /** * A ref to the element that should receive focus when the lightbox opens. * When not provided, the first focusable element inside the lightbox is used. */ initialFocus?: RefObject | string; justifyContent?: MQ | LightboxVerticalAlignment; privateProps?: { skipPortal?: boolean; /** * @internal * Options passed to focus-trap's tabbable detection. * Use `{ displayCheck: "none" }` for testing to avoid JSDOM visibility issues. */ tabbableOptions?: { displayCheck?: "full" | "legacy-full" | "non-zero-area" | "none"; }; }; } & Pick; export declare const StyledBackdrop: import("@emotion/styled").StyledComponent<{ theme?: import("@emotion/react").Theme; as?: React.ElementType; } & Pick, React.DetailedHTMLProps, HTMLDivElement>, {}>; export declare const StyledChildrenWrapper: import("@emotion/styled").StyledComponent<{ theme?: import("@emotion/react").Theme; as?: React.ElementType; }, React.DetailedHTMLProps, HTMLDivElement>, {}>; export declare function Lightbox({ backdropRef, portalContainer, initialFocus, isDismissible, children, handleClose, justifyContent, privateProps: { skipPortal, tabbableOptions }, }: PropsWithChildren): React.ReactElement;