import { ComponentType } from 'react'; export declare type ModalComponent

= ComponentType

; export declare type ModalComponentProps

= Omit; export interface Props { open?: Boolean; [key: string]: any; } export interface Options { hideOnClose?: boolean; destroyOnClose?: boolean; rootId?: string; } export interface State { [id: string]: StateElement; } export interface StateElement { component: ComponentType; props?: Props; options?: Options; } export declare type ActionMap = { [Key in keyof M]: M[Key] extends undefined ? { type: Key; } : { type: Key; payload: M[Key]; }; }; export declare type UpdateFn =

(id: string, props: Partial>) => void; export declare type HideFn = (id: string) => void; export declare type DestroyFn = (id: string) => void; export declare type DestroyByRootIdFn = (rootId: string) => void; export declare type ShowFn =

(component: ComponentType

, props?: ModalComponentProps

, options?: Options) => ShowFnOutput

; export interface ShowFnOutput

{ id: string; hide: () => void; destroy: () => void; update: (newProps: Partial>) => void; } export interface ModalConfig { enforceProvider: boolean; }