import React from "react"; interface ModalWithClose { onClose: () => void; } declare type ModalProps = T & ModalWithClose; interface Modal { modalComponent?: React.ComponentType | null; modalNode?: React.ReactNode; modalProps?: any; } declare type ModalOpener = , P extends React.ComponentProps>(modal?: M | null, modalProps?: Omit, modalNode?: React.ReactNode) => void; interface ModalContextProps { openModal: ModalOpener; closeModal: () => void; } declare const ModalProvider: ({ children }: React.PropsWithChildren) => JSX.Element; declare function useModal(): ModalContextProps; export { ModalProvider, useModal }; export type { ModalProps, ModalOpener, Modal, ModalContextProps };