import * as react from 'react'; import { HTMLAttributes, ReactNode } from 'react'; interface ModalContextValue { open: boolean; close: () => void; } interface ModalProps extends Omit, "children"> { children: ReactNode; open: boolean; onClose: () => void; size?: "sm" | "md" | "lg" | "xl" | "full"; className?: string; } interface ModalHeaderProps { children: ReactNode; className?: string; } interface ModalBodyProps { children: ReactNode; className?: string; } interface ModalFooterProps { children: ReactNode; className?: string; } declare function ModalHeader({ children, className }: ModalHeaderProps): react.JSX.Element; declare namespace ModalHeader { var displayName: string; } declare function ModalBody({ children, className }: ModalBodyProps): react.JSX.Element; declare namespace ModalBody { var displayName: string; } declare function ModalFooter({ children, className }: ModalFooterProps): react.JSX.Element; declare namespace ModalFooter { var displayName: string; } declare function ModalRoot({ children, open, onClose, size, className, ...rest }: ModalProps): react.JSX.Element | null; declare const Modal: typeof ModalRoot & { Header: typeof ModalHeader; Body: typeof ModalBody; Footer: typeof ModalFooter; }; declare function useModal(): ModalContextValue; export { Modal, type ModalBodyProps, type ModalContextValue, type ModalFooterProps, type ModalHeaderProps, type ModalProps, useModal };