import * as react_jsx_runtime from 'react/jsx-runtime';
import { ReactNode } from 'react';
import { VariantProps as VariantPropsInternal } from './variants.js';

declare const modal: (props?: ({
    [x: string]: string | number | undefined;
} & {
    className?: string;
}) | undefined) => {
    root: (slotProps?: {
        className?: string;
    }) => string;
    area: (slotProps?: {
        className?: string;
    }) => string;
    overlay: (slotProps?: {
        className?: string;
    }) => string;
    panel: (slotProps?: {
        className?: string;
    }) => string;
};
type ModalVariant = VariantPropsInternal<typeof modal>;
type ModalSize = ModalVariant['size'];
type ModalProps = {
    isOpen: boolean;
    onClose(): void;
    size?: ModalSize;
    noGutter?: boolean;
    customSize?: number;
    overlayClassName?: string;
    containerClassName?: string;
    className?: string;
    children?: ReactNode;
};
declare function Modal({ isOpen, onClose, children, noGutter, className, size, customSize, overlayClassName, containerClassName, }: ModalProps): react_jsx_runtime.JSX.Element;
declare namespace Modal {
    var displayName: string;
}

export { Modal, type ModalProps, type ModalSize };
