import { JsonObject } from "../Core/Json"; import { Equals, Or } from "../Core/TypeConditionals"; import ModelReference from "./ModelReference"; import Trait from "./Trait"; export type TraitDefinitions = { [id: string]: Trait; }; // Traits may be: // * JSON primitive types: number, string, boolean, null // * Schemaless JSON-style objects. // * References to other ModelTraits types. // * Arrays of any of the above. class ModelTraits { static traits: TraitDefinitions; } export type IsValidSimpleTraitType = Or< Equals, Equals, Equals, Equals, Equals, Equals >; export default ModelTraits;