import { LocaleDef } from './Locale'; import { Index } from './Storage'; import { EntityShape, Configuration, EntityDict } from './Entity'; import { StyleDesc } from './Style'; export type EntityDesc = { ['##oak_illegal##']: ''; }> = { locales: LocaleDef; indexes?: Index[]; configuration?: Configuration; recursiveDepth?: number; } & (Action extends '' ? (keyof V extends '##oak_illegal##' ? {} : { style: StyleDesc; }) : { style: StyleDesc; }); export type AttrUpdateMatrix = { [T in keyof ED]?: { [A in keyof ED[T]['Update']['data']]?: { actions?: ED[T]['Action'][]; filter?: NonNullable; }; }; };