import { Factory } from '../../core'; import { ModalBaseCloseButtonProps, ModalBaseOverlayProps } from '../ModalBase'; import { ModalBody, type ModalBodyProps } from './ModalBody'; import { ModalCloseButton, type ModalCloseButtonProps } from './ModalCloseButton'; import { ModalContent, type ModalContentProps } from './ModalContent'; import { ModalHeader, type ModalHeaderProps } from './ModalHeader'; import { ModalOverlay, type ModalOverlayProps } from './ModalOverlay'; import { ModalRoot, ModalRootCssVariables, ModalRootProps, ModalRootStylesNames } from './ModalRoot'; import { ModalStack, type ModalStackProps } from './ModalStack'; import { ModalTitle, type ModalTitleProps } from './ModalTitle'; export type ModalStylesNames = ModalRootStylesNames; export type ModalCssVariables = ModalRootCssVariables; export interface ModalProps extends ModalRootProps { __staticSelector?: string; /** Modal title */ title?: React.ReactNode; /** If set, the overlay is rendered @default true */ withOverlay?: boolean; /** Props passed down to the `Overlay` component, use to configure opacity, `background-color`, styles and other properties */ overlayProps?: ModalBaseOverlayProps; /** Modal content */ children?: React.ReactNode; /** If set, the close button is rendered @default true */ withCloseButton?: boolean; /** Props passed down to the close button */ closeButtonProps?: ModalBaseCloseButtonProps; /** Id of the modal in the `Modal.Stack` */ stackId?: string; } export type ModalFactory = Factory<{ props: ModalProps; ref: HTMLDivElement; stylesNames: ModalStylesNames; vars: ModalCssVariables; staticComponents: { Root: typeof ModalRoot; Overlay: typeof ModalOverlay; Content: typeof ModalContent; Body: typeof ModalBody; Header: typeof ModalHeader; Title: typeof ModalTitle; CloseButton: typeof ModalCloseButton; Stack: typeof ModalStack; }; }>; export declare const Modal: import("../..").MantineComponent<{ props: ModalProps; ref: HTMLDivElement; stylesNames: ModalStylesNames; vars: ModalCssVariables; staticComponents: { Root: typeof ModalRoot; Overlay: typeof ModalOverlay; Content: typeof ModalContent; Body: typeof ModalBody; Header: typeof ModalHeader; Title: typeof ModalTitle; CloseButton: typeof ModalCloseButton; Stack: typeof ModalStack; }; }>; export declare namespace Modal { type Props = ModalProps; type StylesNames = ModalStylesNames; type CssVariables = ModalCssVariables; type Factory = ModalFactory; namespace Root { type Props = ModalRootProps; } namespace Body { type Props = ModalBodyProps; } namespace CloseButton { type Props = ModalCloseButtonProps; } namespace Content { type Props = ModalContentProps; } namespace Header { type Props = ModalHeaderProps; } namespace Overlay { type Props = ModalOverlayProps; } namespace Title { type Props = ModalTitleProps; } namespace Stack { type Props = ModalStackProps; } }