import { FloatingContext, ReferenceType } from '@floating-ui/react'; import { default as React } from 'react'; /** * @deprecated Use Modal from `@tedi-design-system/react/tedi` instead. */ export interface ModalProviderProps { /** * ModalTrigger and Modal components */ children: React.ReactNode | React.ReactNode[]; /** * Should modal be initially shown. Won't work with open and onToggle. * @default false */ defaultOpen?: boolean; /** * Should the modal be open or closed. * Use to handle state outside of component, should use with onToggle prop. */ open?: boolean; /** * Callback when modal is toggled. * Use to handle state outside of component, should use with open prop. */ onToggle?: (open: boolean) => void; /** * Should modal be dismissible by pressing escape or outside of the modal. * @default true */ isDismissable?: boolean; /** * Closes the modal with escape key * Skipped if `isDismissable="false"` * @default true */ escapeKey?: boolean; /** * Closes the modal with a click outside the modal or trigger * Skipped if `isDismissable="false"` * @default true */ outsidePress?: boolean; } export interface IModalContext { isOpen: boolean; reference: (node: ReferenceType | null) => void; floating: (node: HTMLElement | null) => void; getReferenceProps: (userProps?: React.HTMLProps | undefined) => Record; getFloatingProps: (userProps?: React.HTMLProps | undefined) => Record; closeModal: () => void; context: FloatingContext; isDismissable: boolean; escapeKey: boolean; outsidePress: boolean; } export declare const ModalContext: React.Context; /** * @deprecated Use Modal from `@tedi-design-system/react/tedi` instead. */ export declare const ModalProvider: (props: ModalProviderProps) => JSX.Element; export default ModalProvider;