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
14 lines (13 loc) • 1.1 kB
TypeScript
import { AnyDataModel } from "../dataModel/BaseDataModel";
import { AnyModel } from "../model/BaseModel";
import { ModelClass, ModelData } from "./BaseModelShared";
import { AnyModelProp, ModelProps } from "./prop";
export declare function createModelPropDescriptor(modelPropName: string, modelProp: AnyModelProp | undefined, enumerable: boolean): PropertyDescriptor;
export declare function getModelInstanceDataField<M extends AnyModel | AnyDataModel>(model: M, _modelProp: AnyModelProp | undefined, modelPropName: keyof ModelData<M>): ModelData<M>[typeof modelPropName];
export declare function setModelInstanceDataField<M extends AnyModel | AnyDataModel>(model: M, modelProp: AnyModelProp | undefined, modelPropName: keyof ModelData<M>, value: ModelData<M>[typeof modelPropName]): void;
export declare function sharedInternalModel<TProps extends ModelProps, TBaseModel extends AnyModel | AnyDataModel>({ modelProps, baseModel, type, valueType, }: {
modelProps: TProps;
baseModel: ModelClass<TBaseModel> | undefined;
type: "class" | "data";
valueType: boolean;
}): any;