import { PropsWithChildren } from "react";
import { ModalPositions, ModalSizes } from "./types";
interface NvModalProps {
/** Class to add to body element if modal is open. */
bodyClass?: string;
/** If true, modal will be closed on backdrop click. */
closeOnBackdropClick?: boolean;
/** Sets position: fixed CSS style to the modal. */
fixed?: boolean;
/** If true, the component is shown. */
open?: boolean;
/** Sets value of overflow CSS property for inner container. */
overflow?: "auto" | "hidden" | "visible";
/** Position of the modal window inside container. */
position?: ModalPositions;
/** Size of the modal window. */
size?: ModalSizes;
/** Sets z-index for the container. */
zIndex?: number;
/** Callback fired when the modal is closed on backdrop click. */
onToggle?: (value: boolean) => void;
}
/**
* Functional component for rendering a modal with customizable options like position, size, and behavior.
*
* @param {string} bodyClass The class to be added to the body element when the modal is open.
* @param {boolean} closeOnBackdropClick Determines if the modal should close when clicking on the backdrop.
* @param {boolean} fixed Determines if the modal should have a fixed position.
* @param {boolean} open Determines if the modal is open or closed.
* @param {string} overflow The overflow behavior for the modal container.
* @param {ModalPositions} position The position of the modal (e.g., top-center, middle-left).
* @param {ModalSizes} size The size of the modal (e.g., small, medium, large).
* @param {number} zIndex The z-index of the modal.
* @param {func} onToggle Callback function to toggle the modal open/close state.
* @param {ReactNode} children The content to be displayed within the modal.
*/
declare const NvModal: ({ bodyClass, closeOnBackdropClick, fixed, open, overflow, position, size, zIndex, onToggle, children, }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
export default NvModal;