import { ComponentProps, MutableRefObject, ReactElement } from 'react'; export declare const openModalOnAllWindows: import("react").RefObject; /** * @param showOnAllWindows If true this modal will show on all windows opened from main window including main window. * @param */ export interface ShowModalProps { showOnAllWindows?: boolean; polledCloseCondition?: () => boolean; } export type ComponentType = (props: any) => ReactElement; /** * Promise extended to add the ability to externally resolve dialog. */ export interface PromiseWithResolve extends Promise { resolve: (value: RT) => void; } /** * Properties passed to the modal component to allow resolving. */ export interface LuiModalAsyncCallback { resolve: (result: R | undefined) => void; close: () => void; } export interface LuiModalAsyncContextType { showModal: , CT extends (props: PROPS) => ReactElement, RT = Parameters['resolve']>[0]>(ownerRef: MutableRefObject, component: CT, args: Omit, 'resolve' | 'close'>, showModalProps?: ShowModalProps) => PromiseWithResolve; } export declare const LuiModalAsyncContext: import("react").Context;