import { FC, PropsWithChildren, Ref } from 'react'; import { OverlayController } from '../../lib/controller'; import { PropsWithClassName } from '../../lib/types/props'; import { OverlayCloseHandler, OverlayOpenHandler, OverlayOpenStateHandler } from '../../lib/controller/overlay/OverlayController'; import type * as Aria from "react-aria-components"; export interface OverlayProps extends PropsWithChildren, PropsWithClassName, Pick { ref?: Ref; /** The controller to control the overlay state. */ controller?: OverlayController; /** Whether the overlay can be closed by clicking outside of it. */ isDismissable?: boolean; /** Whether the overlay is a modal or a light box. */ overlayType?: "Modal" | "LightBox"; /** Whether the overlay is open. Use it to control the overlay state. */ isOpen?: boolean; /** * Whether the overlay is open initially. Use it for an uncontrolled overlay. * * @default false */ isDefaultOpen?: boolean; /** Called when the overlay is opened. */ onOpen?: OverlayOpenHandler; /** Called when the overlay is closed. */ onClose?: OverlayCloseHandler; /** Called with the new open state whenever the overlay is opened or closed. */ onOpenChange?: OverlayOpenStateHandler; /** Whether closing the overlay must be confirmed. */ confirmOnClose?: boolean; } export declare const Overlay: FC; export default Overlay;