UNPKG

redux-modal

Version:
47 lines (46 loc) 1.26 kB
/// <reference types="react" /> import { Action, Store } from 'redux'; export declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; export interface ReduxContext { store: Store<any>; } export interface ModalAction extends Action { payload?: { modal: string; props?: any; }; } export declare type ReduxModalState = { [name: string]: ModalState; }; export declare type ModalState = { [key: string]: any; show?: boolean; props?: any; }; export interface ResolveParameter { props: any; } export interface ModalConfig { name: string; resolve?: (parameter: ResolveParameter) => any; getModalState?: (state: any) => ModalState; destroyOnHide?: boolean; } export interface InjectedProps { show: boolean; handleHide: () => void; handleDestroy: () => void; } export interface ConnectModalProps { hide: (name: string) => ModalAction; show: (name: string) => ModalAction; destroy: (name: string) => ModalAction; modal: ModalState; } export interface ConnectModalState { show?: boolean; } export interface InjectedWrapperComponent { <P extends InjectedProps>(component: React.ComponentType<P>): React.ComponentClass<Omit<P, keyof InjectedProps> & any>; }