UNPKG

mobx-keystone-mindreframer

Version:

A MobX powered state management solution based on data trees with first class support for Typescript, snapshots, patches and much more

21 lines (20 loc) 657 B
/** * A function with an object as target. */ export declare type FnModelFn<T extends object, FN extends (...args: any[]) => any> = (target: T, ...args: Parameters<FN>) => ReturnType<FN>; /** * Functional model action definition. */ export declare type FnModelActionDef = (...args: any[]) => any; /** * An object with functional model action definitions. */ export interface FnModelActionsDef { [k: string]: FnModelActionDef; } /** * Functional model actions. */ export declare type FnModelActions<Data extends object, ActionsDef extends FnModelActionsDef> = { [k in keyof ActionsDef]: FnModelFn<Data, ActionsDef[k]>; };