import { CascadeRelationItem, EntityDict } from "./Entity"; import { GenericAction } from '../actions/action'; export type Action = string; export type State = string; export type ActionDef = { stm: { [a in A]: [p: S | S[], n: S]; }; is?: S; }; export type ActionDefDict = { [T in keyof E]?: { [A in keyof E[T]['OpSchema']]?: ActionDef; }; }; export type CascadeActionItem = CascadeRelationItem; export type CascadeActionAuth = { [K in A | GenericAction]?: CascadeActionItem | (CascadeActionItem | CascadeActionItem[])[]; }; export type ActionOnRemove = 'setNull' | 'remove';