import { Context } from 'react'; export interface GlobalStore { readonly [key: string]: any; } export declare type Modifier = (store: GS) => (...args: ReadonlyArray) => Partial | Promise>; export interface UnBoundAction extends Modifier { } export interface Scope { readonly [actionName: string]: Modifier; } export interface UnBoundScope extends Scope { } export interface Modifiers { readonly [scope: string]: Scope; } export interface UnBoundActions extends Modifiers { } export declare type Action> = (...args: Parameters>) => Partial | Promise>; export interface BoundAction> extends Action { } export declare type NameSpace> = { readonly [A in keyof S]: Action; }; export declare type BoundScope> = { readonly [A in keyof S]: BoundAction; }; export declare type Actions> = { readonly [S in keyof T]: NameSpace; }; export interface ContextObject> { readonly actions: Context>; readonly store: Context; }