import type { CSSProperties, ReactElement, ReactNode, RefObject } from 'react'; import type { ModalPlacement, ModalSize, ModalState } from './types'; export type ModalProps = { id?: string; hideOnEsc?: boolean; hideOnClickOutside?: boolean; preventBodyScroll?: boolean; ariaLabel?: string; disclosure?: ReactElement | ((state: ModalState) => ReactElement); isClosable?: boolean; /** * When using a background image, set the sentiment of the close button so that it has a good contrast with the image: * - 'neutral': default value for when there is no background image * - 'black': use on light images * - 'white': use on dark images * @default 'neutral' */ closeButtonSentiment?: 'neutral' | 'black' | 'white'; onClose?: () => void; onOpen?: () => void; onBeforeClose?: () => Promise | void; open?: boolean; placement?: ModalPlacement; size?: ModalSize; children: ReactNode | ((args: ModalState) => ReactNode); className?: string; 'data-testid'?: string; backdropClassName?: string; /** * Add an image a the top of the modal. */ image?: string; style?: CSSProperties; ref?: RefObject; /** When set to true, the modal is not counted in the nested-modals count */ isDrawer?: boolean; }; export declare function Modal({ ariaLabel, id, children, disclosure, hideOnClickOutside, hideOnEsc, isClosable, closeButtonSentiment, onClose, onBeforeClose, onOpen, open, placement, preventBodyScroll, size, className, 'data-testid': dataTestId, backdropClassName, image, style, ref, isDrawer, }: ModalProps): import("react").JSX.Element; export declare namespace Modal { var displayName: string; } //# sourceMappingURL=index.d.ts.map