import React, { ComponentType, ReactNode, ReactElement } from 'react'; export interface ModalContextProps { onClose?: () => void; } export interface ModalProps { title?: string; trigger?: ReactElement; children?: ReactNode | ((close: () => void) => ReactNode); component?: () => Promise<{ default: ComponentType; }>; componentProps?: Record; className?: string; width?: number; defaultOpen?: boolean; open?: boolean; onClose?: () => void; onClosed?: () => void; } interface TriggerProps { onClick: () => void; } declare const ModalComp: React.ForwardRefExoticComponent>; export declare const useModal: () => ModalContextProps; export interface ModalFooterProps { children?: ReactNode; } declare const ModalFooter: ({ children }: ModalFooterProps) => import("react/jsx-runtime").JSX.Element; declare const ModalOpen: (props: ModalProps) => Promise; type ModalType = typeof ModalComp & { Footer: typeof ModalFooter; open: typeof ModalOpen; }; export declare const Modal: ModalType; export {};