import { EntityDict, GeneralEntityShape } from './Entity'; import { EntityDict as BaseEntityDict } from '../base-app-domain'; type Color = `#${string}`; type IconName = string; export type StyleDesc = { ['##oak_illegal##']: ''; }> = Action extends '' ? (keyof V extends '##oak_illegal##' ? {} : { color: { [A in keyof V]: { [E in V[A]]: Color; }; }; }) : (keyof V extends '##oak_illegal##' ? { icon: { [A in Action]?: IconName; }; } : { icon: { [A in Action]?: IconName; }; color: { [A in keyof V]: { [E in V[A]]: Color; }; }; }); export type StyleDef = { color?: { [A in keyof ED]?: { [E in ED[A]]?: Color; }; }; icon?: { [A in Action]?: IconName; }; }; export type StyleDict = { [T in keyof ED]?: StyleDef; }; export {};