package enums

type Enum interface {
	Valid() bool
	ValuesAny() []any
	ValuesMeta() []EnumMetaValue
	VarName() string
}

type StringEnum interface {
	Enum
	String() string
}

type DescriptionEnum interface {
	Enum
	Description() string
}

type EnumMetaValue struct {
	VarName     string  `json:"varName"`
	Value       any     `json:"value"`
	Description *string `json:"description"`
}