import type { UseOverlayStateReturn } from "../../hooks/use-overlay-state"; import type { DOMRenderProps } from "../../utils/dom"; import type { ModalVariants } from "@heroui/styles"; import type { ComponentPropsWithRef, ReactNode } from "react"; import type { Button as ButtonPrimitive } from "react-aria-components/Button"; import type { DialogProps as DialogPrimitiveProps } from "react-aria-components/Dialog"; import { Heading as HeadingPrimitive, DialogTrigger as ModalTriggerPrimitive } from "react-aria-components/Dialog"; import { ModalOverlay as ModalOverlayPrimitive, Modal as ModalPrimitive } from "react-aria-components/Modal"; type ModalPlacement = "auto" | "top" | "center" | "bottom"; interface ModalRootProps extends ComponentPropsWithRef { state?: UseOverlayStateReturn; } declare const ModalRoot: ({ children, state, ...props }: ModalRootProps) => import("react/jsx-runtime").JSX.Element; interface ModalTriggerProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const ModalTrigger: ({ children, className, ...props }: ModalTriggerProps & Omit>) => import("react/jsx-runtime").JSX.Element; interface ModalBackdropProps extends ComponentPropsWithRef { variant?: ModalVariants["variant"]; /** * Whether to close the modal when the user interacts outside it. * @default true */ isDismissable?: boolean; } declare const ModalBackdrop: ({ children, className, isDismissable, onClick, variant, ...props }: ModalBackdropProps) => import("react/jsx-runtime").JSX.Element; interface ModalContainerProps extends Omit, Exclude> { placement?: ModalPlacement; scroll?: ModalVariants["scroll"]; size?: ModalVariants["size"]; } declare const ModalContainer: ({ children, className, placement, scroll, size, ...props }: ModalContainerProps) => import("react/jsx-runtime").JSX.Element; interface ModalDialogProps extends DialogPrimitiveProps { } declare const ModalDialog: ({ children, className, ...props }: ModalDialogProps) => import("react/jsx-runtime").JSX.Element; interface ModalHeaderProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const ModalHeader: ({ children, className, ...props }: ModalHeaderProps & Omit>) => import("react/jsx-runtime").JSX.Element; interface ModalBodyProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const ModalBody: ({ children, className, ...props }: ModalBodyProps & Omit>) => import("react/jsx-runtime").JSX.Element; interface ModalFooterProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const ModalFooter: ({ children, className, ...props }: ModalFooterProps & Omit>) => import("react/jsx-runtime").JSX.Element; interface ModalHeadingProps extends ComponentPropsWithRef { } declare const ModalHeading: ({ children, className, ...props }: ModalHeadingProps) => import("react/jsx-runtime").JSX.Element; interface ModalIconProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const ModalIcon: ({ children, className, ...props }: ModalIconProps & Omit>) => import("react/jsx-runtime").JSX.Element; interface ModalCloseTriggerProps extends ComponentPropsWithRef { className?: string; children?: ReactNode; } declare const ModalCloseTrigger: ({ className, ...rest }: ModalCloseTriggerProps) => import("react/jsx-runtime").JSX.Element; export { ModalRoot, ModalTrigger, ModalBackdrop, ModalContainer, ModalDialog, ModalHeader, ModalIcon, ModalHeading, ModalBody, ModalFooter, ModalCloseTrigger, }; export type { ModalRootProps, ModalTriggerProps, ModalBackdropProps, ModalContainerProps, ModalDialogProps, ModalHeaderProps, ModalIconProps, ModalHeadingProps, ModalBodyProps, ModalFooterProps, ModalCloseTriggerProps, };