import { FC, CSSProperties, ReactPortal } from "react"; export declare type ResolveFunction = ((x: ResultType) => void) | (() => void); export interface UseModalComponentProps { onResolve: ResolveFunction; } export declare type UseModalOptions = UseModalOptionsBasic; export interface UseModalOptionsBasic { Component: FC>; overlayStyles?: CSSProperties; overlayClassName?: string; closeOnEsc?: boolean; closeOnOverlayClick?: boolean; defaultResolved?: ResultType; overlayClassNameOnOpen?: string; overlayClassNameOnClose?: string; closeTimeoutMs?: number; blockBodyScroll?: boolean; onOpen?: (options: UseModalOnOpenOptions) => void | Promise; onClose?: (options: UseModalOnCloseOptions) => void | Promise; } export interface UseModalOnOpenOptions extends Omit { } export interface UseModalOnCloseOptions { resolved: ResultType; } export interface UseModalContainerRef { containerId: string; containerRef: HTMLDivElement; portal: ReactPortal; blockBodyScroll: boolean; } export declare type UseModalReturnType = () => Promise;