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 };